コード例 #1
0
        public JsonResult Load(int id)
        {
            Response response;

            try
            {
                using (var db = new KiaGalleryContext())
                {
                    var entity = db.SmsCategory.Single(x => x.Id == id);
                    var data   = new SmsCategoryViewModel()
                    {
                        id                = entity.Id,
                        title             = entity.Title,
                        freeMessage       = entity.FreeMessage,
                        active            = entity.Active,
                        order             = entity.Order,
                        description       = entity.Description,
                        color             = entity.Color,
                        categoryType      = entity.CategoryType,
                        createMessageList = entity.CreateMessageList.Select(x => new CreateMessageViewModel()
                        {
                            id         = x.Id,
                            detailName = x.DetailName,
                            name       = x.Name,
                        }).ToList(),
                    };
                    response = new Response()
                    {
                        status = 200,
                        data   = data
                    };
                }
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public JsonResult Save(SmsCategoryViewModel model)
        {
            Response response;

            try
            {
                if (model.categoryType == SmsCategoryType.MultiChoice)
                {
                    if (model.createMessageList == null || model.createMessageList.Count == 0)
                    {
                        response = new Response()
                        {
                            status  = 500,
                            message = "ثبت یک پاسخ برای نوع چند انتخابی الزامی است."
                        };
                        return(Json(response, JsonRequestBehavior.AllowGet));
                    }
                }
                if (model.categoryType == SmsCategoryType.SingleChoice)
                {
                    if (model.createMessageList == null || model.createMessageList.Count == 0)
                    {
                        response = new Response()
                        {
                            status  = 500,
                            message = "ثبت یک پاسخ برای نوع تک انتخابی الزامی است."
                        };
                        return(Json(response, JsonRequestBehavior.AllowGet));
                    }
                }
                if (model.categoryType == SmsCategoryType.Descriptive)
                {
                    if (model.description == null)
                    {
                        response = new Response()
                        {
                            status  = 500,
                            message = "ثبت یک پاسخ برای نوع تشریحی الزامی است."
                        };
                        return(Json(response, JsonRequestBehavior.AllowGet));
                    }
                }
                if (model.categoryType == SmsCategoryType.FreeMessage)
                {
                    if (model.freeMessage == null)
                    {
                        response = new Response()
                        {
                            status  = 500,
                            message = "ثبت یک پاسخ برای نوع پیام آزاد الزامی است."
                        };
                        return(Json(response, JsonRequestBehavior.AllowGet));
                    }
                }
                var userId = GetAuthenticatedUserId();
                using (var db = new KiaGalleryContext())
                {
                    if (model.id != null && model.id > 0)
                    {
                        var entity = db.SmsCategory.Single(x => x.Id == model.id);
                        entity.Title        = model.title;
                        entity.FreeMessage  = model.freeMessage;
                        entity.Active       = model.active;
                        entity.Description  = model.description;
                        entity.Color        = model.color;
                        entity.CategoryType = model.categoryType;
                        entity.Order        = model.order;
                        entity.ModifyDate   = DateTime.Now;
                        entity.ModifyUserId = userId;
                        entity.Ip           = Request.UserHostAddress;

                        if (model.categoryType == SmsCategoryType.MultiChoice || model.categoryType == SmsCategoryType.SingleChoice)
                        {
                            var idList       = model.createMessageList.Where(x => x.id != null).Select(x => x.id).ToList();
                            var deletedItems = entity.CreateMessageList.Where(x => !idList.Any(y => y == x.Id)).ToList();
                            if (deletedItems.Count > 0)
                            {
                                db.CreateMessage.RemoveRange(deletedItems);
                            }
                            model.createMessageList.ForEach(x =>
                            {
                                if (x.id != null && x.id > 0)
                                {
                                    var item          = entity.CreateMessageList.Single(y => y.Id == x.id);
                                    item.Name         = string.IsNullOrEmpty(x.name) ? null : Regex.Replace(x.name, " {2,}", " ").Trim();
                                    item.DetailName   = Regex.Replace(x.detailName, " {2,}", " ").Trim();
                                    item.ModifyUserId = userId;
                                    item.ModifyDate   = DateTime.Now;
                                    item.Ip           = Request.UserHostAddress;
                                }
                                else
                                {
                                    db.CreateMessage.Add(new CreateMessage()
                                    {
                                        SmsCategory  = entity,
                                        Name         = string.IsNullOrEmpty(x.name) ? null : Regex.Replace(x.name, " {2,}", " ").Trim(),
                                        DetailName   = Regex.Replace(x.detailName, " {2,}", " ").Trim(),
                                        CreateUserId = userId,
                                        ModifyUserId = userId,
                                        CreateDate   = DateTime.Now,
                                        ModifyDate   = DateTime.Now,
                                        Ip           = Request.UserHostAddress,
                                    });
                                }
                            });
                        }
                        else
                        {
                            db.CreateMessage.RemoveRange(entity.CreateMessageList);
                        }
                    }
                    else
                    {
                        var entity = new SmsCategory()
                        {
                            Title        = model.title,
                            Active       = model.active,
                            FreeMessage  = model.freeMessage,
                            CategoryType = model.categoryType,
                            Description  = model.description,
                            Color        = model.color,
                            Order        = model.order,
                            CreateDate   = DateTime.Now,
                            ModifyDate   = DateTime.Now,
                            CreateUserId = 1,
                            ModifyUserId = 1,
                            Ip           = Request.UserHostAddress
                        };
                        if (model.createMessageList != null)
                        {
                            for (int i = 0; i < model.createMessageList.Count; i++)
                            {
                                entity.CreateMessageList.Add(new CreateMessage()
                                {
                                    SmsCategory  = entity,
                                    Name         = string.IsNullOrEmpty(model.createMessageList[i].name) ? null : Regex.Replace(model.createMessageList[i].name, " {2,}", " ").Trim(),
                                    DetailName   = Regex.Replace(model.createMessageList[i].detailName, " {2,}", " ").Trim(),
                                    CreateUserId = GetAuthenticatedUserId(),
                                    ModifyUserId = GetAuthenticatedUserId(),
                                    CreateDate   = DateTime.Now,
                                    ModifyDate   = DateTime.Now,
                                    Ip           = Request.UserHostAddress,
                                });
                            }
                        }
                        db.SmsCategory.Add(entity);
                    }
                    db.SaveChanges();
                    response = new Response()
                    {
                        status  = 200,
                        message = "دسته بندی با موفقیت ایجاد شد."
                    };
                };
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }