1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- using System;
- using System.Collections.Generic;
- using System.IdentityModel.Tokens.Jwt;
- using System.Linq;
- using System.Security.Claims;
- using System.Text;
- using FMSAdmin.Data;
- using FMSAdmin.Helpers;
- using FMSAdmin.Entities;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.Extensions.Logging;
- using Microsoft.Extensions.Options;
- using Microsoft.IdentityModel.Tokens;
- using FMSAdmin.Models;
- using FMSAdmin.Models.Formula;
- using System.Transactions;
- namespace FMSAdmin.Services {
- public class FormulaService {
- private readonly ILogger<FormulaService> _logger;
- private readonly FMSContext _context;
- public FormulaService(
- ILogger<FormulaService> logger,
- FMSContext context) {
- _logger = logger;
- _context = context;
- }
- public void Save(BemsFormula data) {
- using (var trans = new TransactionScope()) {
- data.Formula = data.Formula.ToUpper();
- var persist = _context.BemsFormula
- .Where(x => x.SiteId == data.SiteId && x.FacilityTypeId == data.FacilityTypeId && x.FacilityCode == data.FacilityCode && x.FormulaId == data.FormulaId).FirstOrDefault();
- if (persist == null) {
- _context.BemsFormula.Add(data);
- _context.SaveChanges();
- } else {
- persist.Formula = data.Formula;
- if (persist.BemsFormulaParameter != null) {
- foreach (var parm in persist.BemsFormulaParameter.ToList()) {
- _context.BemsFormulaParameter.Remove(parm);
- }
- _context.SaveChanges();
- }
- foreach (var formulaParameterInfo in data.BemsFormulaParameter) {
- persist.BemsFormulaParameter.Add(new BemsFormulaParameter() {
- SiteId = persist.SiteId,
- FacilityTypeId = persist.FacilityTypeId,
- FacilityCode = persist.FacilityCode,
- FormulaId = persist.FormulaId,
- ParameterId = formulaParameterInfo.ParameterId,
- ParameterFacilityCode = formulaParameterInfo.ParameterFacilityCode,
- ParameterPropertyId = formulaParameterInfo.ParameterPropertyId
- });
- }
- _context.BemsFormula.Update(persist);
- _context.SaveChanges();
- }
- trans.Complete();
- }
- }
- }
- }
|