Пример #1
0
        public JsonResult SaveModel(CustomerCategoryForm form)
        {
            SaveReturn saveReturn = new SaveReturn();

            if (form == null)
            {
                saveReturn.Messages.Add(new SaveMessage(SaveMessageType.Error,
                                                        SaveMessageDelivery.MessageLine,
                                                        "Data error, value is null"));
            }

            if (!saveReturn.HasErrors)
            {
                CustomerCategory cc;

                if (form.CustomerCategoryId == 0)
                { // new category
                    cc = new CustomerCategory();
                    BindFormToDbModel(form, cc, saveReturn);
                    if (!saveReturn.HasErrors)
                    {
                        db.CustomerCategorys.Add(cc);
                        try
                        {
                            db.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                            if (IsDuplicateKey(ex))
                            {
                                saveReturn.Messages.Add(new SaveMessage(SaveMessageType.Error,
                                                                        SaveMessageDelivery.MessageLine,
                                                                        "Duplicate Customer Category Description"));
                            }
                            else
                            {
                                throw;
                            }
                        }
                    }
                }
                else
                { // existing
                    cc = db.CustomerCategorys.Where(r => r.CustomerCategoryId == form.CustomerCategoryId).SingleOrDefault();
                    BindFormToDbModel(form, cc, saveReturn);
                    if (!saveReturn.HasErrors)
                    {
                        db.SaveChanges();
                    }
                }
                if (!saveReturn.HasErrors)
                {
                    saveReturn.Model = cc; // model to re-display
                }
            }
            return(Json(saveReturn));
        }
Пример #2
0
 private void BindFormToDbModel(CustomerCategoryForm form, CustomerCategory cc, SaveReturn saveReturn)
 {
     cc.Description = VerifyNotBlank(saveReturn, form.Description, "Description", "Category Description");
 }