Beispiel #1
0
        public IHttpActionResult Post(ServiceItemModel baseRequest)
        {
            baseRequest.OrganizationID = SecurityHelper.CurrentPrincipal.OrgId;
            var response = service.SaveServiceItem(baseRequest);

            return(Ok(response));
        }
        public BaseResponse <ServiceItemModel> SaveServiceItem(ServiceItemModel request)
        {
            var response = new BaseResponse <ServiceItemModel>();
            Action <DC_ServiceItem> SaveChildren = (parent) => {
                if (request.ChargeItems != null)
                {
                    var chargeItemIds           = request.ChargeItems.Select(it => it.ChargeItemID).ToList();
                    var oldChargeItemIdsItemIds = parent.DC_ChargeItem.Select(it => it.ChargeItemID).ToList();
                    var chargeItemList          = unitOfWork.GetRepository <DC_ChargeItem>().dbSet.Where(it => chargeItemIds.Contains(it.ChargeItemID)).ToList();
                    var oldChargeItemList       = parent.DC_ChargeItem.ToList();

                    //更新存在的
                    oldChargeItemIdsItemIds.Intersect(chargeItemIds).ToList().ForEach(it =>
                    {
                        var oldItem = oldChargeItemList.Where(a => a.ChargeItemID == it).FirstOrDefault();
                        var newItem = request.ChargeItems.Where(a => a.ChargeItemID == it).FirstOrDefault();
                        if (oldItem != null && newItem != null)
                        {
                            oldItem.CIName   = newItem.CIName;
                            oldItem.Unit     = newItem.Unit;
                            oldItem.Price    = newItem.Price.Value;
                            oldItem.Quantity = newItem.Quantity;
                        }
                    });

                    // 删除不存在的
                    oldChargeItemList.Except(chargeItemList).ToList().ForEach(it =>
                    {
                        unitOfWork.GetRepository <DC_ChargeItem>().Delete(it);
                    });

                    // 添加不存在的
                    request.ChargeItems.Where(a => a.ChargeItemID == 0).ToList().ForEach(it => parent.DC_ChargeItem.Add(Mapper.DynamicMap <DC_ChargeItem>(it)));
                }
            };

            if (request.ServiceItemID == 0)
            {
                var model = Mapper.DynamicMap <DC_ServiceItem>(request);
                SaveChildren(model);
                unitOfWork.GetRepository <DC_ServiceItem>().Insert(model);
            }
            else
            {
                var model = unitOfWork.GetRepository <DC_ServiceItem>().dbSet.FirstOrDefault(a => a.ServiceItemID == request.ServiceItemID);
                SaveChildren(model);
                Mapper.DynamicMap(request, model);
                unitOfWork.GetRepository <DC_ServiceItem>().Update(model);
            }
            unitOfWork.Save();
            response.Data = request;
            return(response);
        }
Beispiel #3
0
        public ActionResult Edit(ServiceItemModel model)
        {
            var serviceItem = _serviceItemRepository.GetById(model.Id);

            if (ModelState.IsValid)
            {
                serviceItem = model.ToEntity(serviceItem);

                //always set IsNew to false when saving
                serviceItem.IsNew = false;
                _serviceItemRepository.Update(serviceItem);

                //commit all changes
                this._dbContext.SaveChanges();

                //notification
                SuccessNotification(_localizationService.GetResource("Record.Saved"));
                return(new NullJsonResult());
            }
            else
            {
                return(Json(new { Errors = ModelState.SerializeErrors() }));
            }
        }
Beispiel #4
0
        public ActionResult Edit([Bind(Include = "ServiceItemId,ParentId,ServiceItemName,IsActive,CurrentPageNo")] ServiceItemModel serivceitemmodel)
        {
            UserPermissionAction("ServiceItem", RoleAction.view.ToString());
            CheckPermission();
            try
            {
                TempData["ShowMessage"] = "error";
                TempData["MessageBody"] = "Please fill the required field with valid data";
                if (ModelState.IsValid)
                {
                    //var Location = form["LocationLists"].ToString();
                    var IsParentAllReadyContainCategoryName = _ServiceItemService.GetServiceItems().Where(c => c.ParentId == serivceitemmodel.ParentId && c.ServiceItemId != serivceitemmodel.ServiceItemId).Select(c => c.ServiceItemName);
                    if (IsParentAllReadyContainCategoryName.Contains(serivceitemmodel.ServiceItemName.Trim()))
                    {
                        TempData["ShowMessage"] = "error";
                        TempData["MessageBody"] = " Service name is already exist.";
                        return(RedirectToAction("Create"));
                    }
                    ServiceItem SerivceItemFound = _ServiceItemService.GetServiceItems().Where(x => x.ServiceItemName == serivceitemmodel.ServiceItemName && x.ParentId == null && x.ServiceItemId != serivceitemmodel.ServiceItemId).FirstOrDefault();
                    Mapper.CreateMap <Onlo.Models.ServiceItemModel, Onlo.Entity.ServiceItem>();
                    Onlo.Entity.ServiceItem item = Mapper.Map <Onlo.Models.ServiceItemModel, Onlo.Entity.ServiceItem>(serivceitemmodel);
                    if (SerivceItemFound == null)
                    {
                        item.IsActive = true;
                        if (serivceitemmodel.ParentId == -1)
                        {
                            item.ParentId = null;
                        }
                        _ServiceItemService.UpdateServiceItem(item);

                        TempData["ShowMessage"] = "success";
                        TempData["MessageBody"] = "service update  successfully.";
                        return(RedirectToAction("Index", new { CurrentPageNo = serivceitemmodel.CurrentPageNo }));
                    }
                    else
                    {
                        TempData["ShowMessage"] = "error";
                        if (SerivceItemFound.ServiceItemName.Trim().ToLower() == serivceitemmodel.ServiceItemName.Trim().ToLower()) //Check User Name
                        {
                            TempData["MessageBody"] = SerivceItemFound.ServiceItemName + " already exist.";
                        }

                        else
                        {
                            TempData["MessageBody"] = "Some unknown problem occured while proccessing save operation on ";
                        }
                    }
                }

                var errors           = ModelState.Where(x => x.Value.Errors.Count > 0).Select(x => new { x.Key, x.Value.Errors }).ToArray();
                var modelStateErrors = this.ModelState.Keys.SelectMany(key => this.ModelState[key].Errors);
            }

            catch (Exception ex)
            {
                string ErrorMsg = ex.Message.ToString();//
                ErrorLogging.LogError(ex);
            }

            return(View(serivceitemmodel));
        }