Esempio n. 1
0
 public static void Main()
 {
     PrintVariable variable = new PrintVariable();
     variable.PrintBooleanVariable(true);
 }
Esempio n. 2
0
        public async Task <int> UpsertForm([FromBody] TempFormModel tfm = null)
        {
            Form formData;
            var  dbUserId = HttpContext.Session.GetInt32("UserId");

            if (dbUserId != null)
            {
                try
                {
                    var dbUserIdInt = Convert.ToInt32(dbUserId);

                    using (var sarahDb = new SarahIncContext())
                    {
                        if (tfm != null)
                        {
                            formData = await(from t in sarahDb.Form
                                             where t.TempId == tfm.TempId
                                             select t).FirstOrDefaultAsync();

                            if (formData == null)
                            {
                                return(-1);
                            }

                            var fm = new FormModel(_mapper);
                            _mapper.Map(tfm, fm);
                            _mapper.Map(fm, formData);
                            formData.LastSaved  = DateTime.Now;
                            formData.LastUserId = dbUserIdInt;

                            foreach (var formVar in tfm.FormVariableModels)
                            {
                                var fv = await(from f in sarahDb.FormVariable
                                               where f.Name == formVar.Name && f.FormId == formData.TempId
                                               select f).FirstAsync();

                                fv.Value = formVar.Value;

                                if (fv.Name == "frmEvalList" && fv.Value != "[Evaluators]")
                                {
                                    var evalList = formVar.Value.Split("<span id=\"ev").ToList();

                                    if (evalList.Count > 0)
                                    {
                                        foreach (var evalListItem in evalList)
                                        {
                                            var num = evalListItem.IndexOf('"');
                                            if (num != -1)
                                            {
                                                var numId      = Convert.ToInt32(evalListItem.Substring(0, num));
                                                var userExists = await sarahDb.FormUser.FirstOrDefaultAsync(x => x.UserId == numId && x.TempEvalFormId == formData.TempId);

                                                if (userExists == null)
                                                {
                                                    var fu = new FormUser();
                                                    fu.TempEvalFormId = formData.TempId;
                                                    var userInFormUsers = await sarahDb.User.FirstAsync(x => x.UserId == numId);

                                                    fu.UserId = userInFormUsers.UserId;
                                                    sarahDb.FormUser.Add(fu);
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            foreach (var formArea in tfm.FormAreaModels)
                            {
                                var fa = await(from f in sarahDb.FormArea
                                               where f.Name == formArea.Name && f.FormId == formData.TempId
                                               select f).FirstOrDefaultAsync();

                                if (fa != null)
                                {
                                    fa.Value = formArea.Value;
                                }
                                else
                                {
                                    fa = new FormArea();
                                    sarahDb.FormArea.Add(fa);
                                    fa.Name   = formArea.Name;
                                    fa.FormId = formData.TempId;
                                    fa.Value  = formArea.Value;
                                }
                            }

                            var printVarModel = new PrintVariableModel(_mapper);
                            foreach (var printVar in tfm.PrintVariableModels)
                            {
                                printVarModel = printVar;
                            }

                            var frmPageBreak = sarahDb.PrintVariable.FirstOrDefault(x => x.FormId == formData.TempId);

                            if (frmPageBreak == null)
                            {
                                frmPageBreak = new PrintVariable();
                                sarahDb.PrintVariable.Add(frmPageBreak);
                                frmPageBreak.FormId = formData.TempId;
                            }

                            frmPageBreak.PageBreaks = printVarModel.PageBreaks;
                        }
                        else
                        {
                            formData = new Form();
                            sarahDb.Form.Add(formData);
                            formData.CreatedOn  = DateTime.Now;
                            formData.LastUserId = dbUserIdInt;
                            formData.LastSaved  = DateTime.Now;
                            await sarahDb.SaveChangesAsync();

                            var rootFormVars = (from f in sarahDb.FormVariable
                                                where f.FormId == null
                                                select f);

                            if (rootFormVars.Any())
                            {
                                foreach (var rootFormVar in rootFormVars)
                                {
                                    var newFormVar = new FormVariable();
                                    sarahDb.FormVariable.Add(newFormVar);
                                    newFormVar.FormId      = formData.TempId;
                                    newFormVar.Description = rootFormVar.Description;
                                    newFormVar.Name        = rootFormVar.Name;
                                    newFormVar.Value       = rootFormVar.Value;
                                }
                            }

                            tfm        = new TempFormModel();
                            tfm.TempId = formData.TempId;
                        }


                        formData.LastUserId = dbUserIdInt;
                        await sarahDb.SaveChangesAsync();

                        if (formData.FormUser.FirstOrDefault(u => u.UserId == dbUserIdInt) == null && HttpContext.Session.GetString("Role") != Constants.RoleAdminStr)
                        {
                            var fu = new FormUser();
                            fu.TempEvalFormId = formData.TempId;
                            fu.UserId         = dbUserIdInt;
                            sarahDb.FormUser.Add(fu);
                            await sarahDb.SaveChangesAsync();
                        }
                    }

                    return(tfm.TempId);
                }
                catch (Exception ex)
                {
                    var cat = 7;
                }
            }

            return(-1);
        }