Beispiel #1
0
        public ItemRequestViewModel SavePersonalItemRequest(ItemRequestViewModel model)
        {
            exceptionService.Execute((m) =>
            {
                model.DocumentSetupId = (int)eDocumentSetup.ItemRequest;

                if (model.Details.Count == 0)
                {
                    model.Errors.Add(new ValidationResult("Please enter detail.", new string[] { "" }));
                }

                if (model.Errors.Any())
                {
                    return;
                }

                if (!model.Validate())
                {
                    return;
                }

                model.Date = model.DateBS.GetDate();

                var entity = new ItemRequest();

                if (model.Id > 0)
                {
                    entity         = itemRequestRepository.GetById(model.Id);
                    entity.Date    = model.Date;
                    entity.Remarks = model.Remarks;
                    itemRequestDetailRepository.DeleteRange(entity.ItemRequestDetails);
                }
                else
                {
                    entity = AutomapperConfig.Mapper.Map <ItemRequest>(model);
                    itemRequestRepository.Insert(entity);
                }

                foreach (var item in model.Details)
                {
                    var detail           = AutomapperConfig.Mapper.Map <ItemRequestDetail>(item);
                    detail.ItemRequestId = entity.Id;
                    itemRequestDetailRepository.Insert(detail);
                }

                if (model.Id == 0)
                {
                    model.Message = localizationService.GetLocalizedText("Message.DataSavedSuccessfully", "Data saved successfully.");
                }
                else
                {
                    model.Message = localizationService.GetLocalizedText("Message.DataSavedSuccessfully", "Save changes successfully.");
                }
            }, model);
            return(model);
        }
Beispiel #2
0
        //public ActionResult ItemLedger()
        //{
        //    ViewBag.ItemCategory = imsReportService.ItemCategories();
        //    return View();
        //}
        //public PartialViewResult ItemLedgerDetail(string fiscalYear, string item)
        //{
        //    ViewBag.FiscalYear = fiscalYear;
        //    ViewBag.ItemCode = item;
        //    ViewBag.ItemName = imsReportService.GetItem(item);
        //    var data = imsReportService.ItemLedgerDetail(fiscalYear, item);

        //    return PartialView(data);
        //}
        #endregion

        public PartialViewResult ItemRequestReport(int id = 0)
        {
            var model = new ItemRequestViewModel();

            if (id > 0)
            {
                model = helper.GetItemRequest(id);
                Session["ItemRequestDetail"] = model.Details;
            }
            if (Session["ItemRequestDetail"] == null)
            {
                Session["ItemRequestDetail"] = new List <ItemRequestDetailViewModel>();
            }

            return(PartialView(model));
        }
Beispiel #3
0
        public ItemRequestViewModel SaveItemRequest(ItemRequestViewModel model)
        {
            exceptionService.Execute((m) =>
            {
                model.DocumentSetupId = (int)eDocumentSetup.ItemRequest;

                if (model.Details.Count == 0)
                {
                    model.Errors.Add(new ValidationResult("Please enter detail.", new string[] { "" }));
                }

                if (model.Errors.Any())
                {
                    return;
                }

                if (!model.Validate())
                {
                    return;
                }

                model.Date = model.DateBS.GetDate();

                var entity = new ItemRequest();

                if (model.Id > 0)
                {
                    entity         = itemRequestRepository.GetById(model.Id);
                    entity.Date    = model.Date;
                    entity.Remarks = model.Remarks;
                    itemRequestDetailRepository.DeleteRange(entity.ItemRequestDetails);
                }
                else
                {
                    entity = AutomapperConfig.Mapper.Map <ItemRequest>(model);
                    entity.ApplicationStatus = (int)eApplicationStatus.Applied;
                    itemRequestRepository.Insert(entity);
                }

                foreach (var item in model.Details)
                {
                    var detail           = AutomapperConfig.Mapper.Map <ItemRequestDetail>(item);
                    detail.ItemRequestId = entity.Id;
                    itemRequestDetailRepository.Insert(detail);
                }

                if (model.Id == 0)
                {
                    model.Message = localizationService.GetLocalizedText("Message.DataSavedSuccessfully", "Data saved successfully.");
                }
                else
                {
                    model.Message = localizationService.GetLocalizedText("Message.DataSavedSuccessfully", "Save changes successfully.");
                }

                var receiver = employeeRepository.GetById(model.RequestedEmployeeId);
                if (receiver != null)
                {
                    //intialize workflow
                    var workflowResponse = workflowService.InitiliazeWorkflow(NTAEnum.eWorkFlowType.ItemRequest, entity.Id, model.EmployeeId, model.RequestedEmployeeId, new Dictionary <string, string>());
                    if (workflowResponse.Status != ViewModels.BackOffice.Workflow.eWorkflowReponseStatus.Success)
                    {
                        model.Errors.Add(new ValidationResult("An error has occured. " + workflowResponse.Message));
                        var itemReqDetail = itemRequestDetailRepository.Table.Where(x => x.ItemRequestId == entity.Id);
                        itemRequestDetailRepository.DeleteRange(itemReqDetail);
                        itemRequestRepository.Delete(entity.Id);
                        return;
                    }
                }
            }, model);
            return(model);
        }