Beispiel #1
0
 public async Task <int> CreateAsync(StepModel model)
 {
     do
     {
         model.Code = CodeGenerator.Generate();
     }while (DbSet.Any(d => d.Code.Equals(model.Code)));
     StepLogic.CreateModel(model);
     return(await DbContext.SaveChangesAsync());
 }
Beispiel #2
0
        public override async void UpdateModelAsync(int id, MachineModel model)
        {
            if (model.MachineEvents != null)
            {
                HashSet <int> indicatorsId = MachineEventLogic.MachineEventIds(id);
                foreach (var itemId in indicatorsId)
                {
                    MachineEventsModel data = model.MachineEvents.FirstOrDefault(prop => prop.Id.Equals(itemId));
                    if (data == null)
                    {
                        await MachineEventLogic.DeleteModel(itemId);
                    }
                    else
                    {
                        MachineEventLogic.UpdateModelAsync(itemId, data);
                    }

                    foreach (MachineEventsModel item in model.MachineEvents)
                    {
                        if (item.Id == 0)
                        {
                            MachineEventLogic.CreateModel(item);
                        }
                    }
                }


                HashSet <int> StepId = MachineEventLogic.MachineEventIds(id);
                foreach (var itemId in StepId)
                {
                    StepModel data = model.Steps.FirstOrDefault(prop => prop.Id.Equals(itemId));
                    if (data == null)
                    {
                        await StepLogic.DeleteModel(itemId);
                    }
                    else
                    {
                        StepLogic.UpdateModelAsync(itemId, data);
                    }

                    foreach (StepModel item in model.Steps)
                    {
                        if (item.Id == 0)
                        {
                            StepLogic.CreateModel(item);
                        }
                    }
                }
            }

            EntityExtension.FlagForUpdate(model, IdentityService.Username, UserAgent);
            DbSet.Update(model);
        }