コード例 #1
0
        public async Task <IActionResult> Edit(long id, [Bind("Id,SchemeName,state")] SchemeWorkFlowSet schemeWorkFlowSet)
        {
            if (id != schemeWorkFlowSet.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(schemeWorkFlowSet);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SchemeWorkFlowSetExists(schemeWorkFlowSet.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(schemeWorkFlowSet));
        }
コード例 #2
0
        public void RemoveSchemeActivities(SchemeWorkFlowSet schemeWork)
        {
            var listStepSheme = _context.Scheme_StepSet.Where(s => s.SchemeWorkFlowId == schemeWork.Id).ToList();

            _context.Scheme_StepSet.RemoveRange(listStepSheme);
            _context.SaveChanges();
        }
コード例 #3
0
        public async Task <IActionResult> Create([Bind("Id,SchemeName,state")] SchemeWorkFlowSet schemeWorkFlowSet)
        {
            if (ModelState.IsValid)
            {
                HttpContext.Session.SetString("name", schemeWorkFlowSet.SchemeName);
                _context.Add(schemeWorkFlowSet);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(schemeWorkFlowSet));
        }
コード例 #4
0
        public void UpdateSchemeInDatabase(SchemeWorkFlowSet schemeWorkFlow, List <SchemeStepFlowModel> listStep, List <string> orderStep, string page)
        {
            // Ordonner d'abord la liste des activités le choix du User
            List <SchemeStepFlowModel> orderedList = null;

            // Ordonner d'abord la liste des activités le choix du User
            if (orderStep != null && orderStep.Count > 0)
            {
                orderedList = UpdateOrderedActivities(listStep, orderStep);
            }
            else
            {
                orderedList = listStep;
            }

            // UpdateSchemeStepFlowModel
            // Mise à jour de la liste pour ne pas enregistrer deux la liste
            var list = UpdateCheckIfStepFlowExists(orderedList);

            // Vider les anciens enregistrement du schema
            RemoveSchemeActivities(schemeWorkFlow);

            int step = 0;

            foreach (var elt in list)
            {
                step += 1;
                _context.Scheme_StepSet.Add(new Scheme_StepSet()
                {
                    StepWorkFlow = new StepWorkFlowSet()
                    {
                        Action = elt.Value.Service, Controller = elt.Value.Gestionnaire
                    },
                    //Numberstep = Convert.ToInt32(elt.ordre),
                    SchemeWorkFlowId = schemeWorkFlow.Id,
                    Activity         = elt.Key,
                    Occurences       = 1,
                    Numberstep       = step
                });
            }
            _context.SaveChanges();
        }
コード例 #5
0
        public List <SchemeStepFlowModel> GetSchemeStepFlowModel(SchemeWorkFlowSet scheme, List <ControleurModels> controleurs)
        {
            var stepScheme = _context.Scheme_StepSet.Where(s => s.SchemeWorkFlowId == scheme.Id).ToList();
            var steps      = _context.StepWorkFlowSet.Where(s => stepScheme.Select(s => s.StepWorkFlowId).Contains(s.Id)).ToList();
            List <SchemeStepFlowModel> schemeStepFlowModels = new List <SchemeStepFlowModel>();

            foreach (var elt in steps)
            {
                schemeStepFlowModels.Add(new SchemeStepFlowModel()
                {
                    Activity           = stepScheme.FirstOrDefault(s => s.StepWorkFlowId == elt.Id).Activity,
                    Occurence          = stepScheme.FirstOrDefault(s => s.StepWorkFlowId == elt.Id).Occurences,
                    Ordre              = stepScheme.FirstOrDefault(s => s.StepWorkFlowId == elt.Id).Numberstep + "",
                    DetailsControleurs = controleurs.FirstOrDefault(c => c.Controller == elt.Controller && c.Action == elt.Action).DetailsControleurs,
                    Description        = controleurs.FirstOrDefault(c => c.Controller == elt.Controller && c.Action == elt.Action).Description,
                    Gestionnaire       = elt.Controller,
                    Service            = elt.Action
                });
            }
            return(schemeStepFlowModels);
        }