예제 #1
0
        public static WFExchangeData PostModirAction(ActionMethodParams actionMethodParams)
        {
            int contractId = actionMethodParams.InitialExchangeData[WfConstants.RelatedRecordIdKey].ConvertTo <int>();

            WFExchangeData ex = (WFExchangeData)actionMethodParams.WorkflowInstanceState.ExchangeData;

            ContractRule contractRule = new ContractRule(UnitOfWork);

            DomainClasses.Contract.Contract contract = contractRule.Find(contractId);



            if (contract == null)
            {
                throw new OMFValidationException($" قرارداد با شناسه ثبت شده یافت نشد. شناسه: {contractId}");
            }


            if (actionMethodParams.ContinueInfo.ActionId == (int)WorkFlowActionType.Taeed)
            {
                contract.Status = Status.ConfirmationContract;
                contractRule.Update(contract);
                contractRule.SaveChanges();

                InvoiceRule invoiceRule = new InvoiceRule(UnitOfWork);
                invoiceRule.ConvertContractToInvoice(contract.ID, NoeFactor.RentFrom);
            }
            return(ex);
        }
예제 #2
0
        public static WFExchangeData PostModirDakhiliAction(ActionMethodParams actionMethodParams)
        {
            try
            {
                int contractId = actionMethodParams.InitialExchangeData[WfConstants.RelatedRecordIdKey].ConvertTo <int>();

                WFExchangeData ex = (WFExchangeData)actionMethodParams.WorkflowInstanceState.ExchangeData;

                ContractRule contractRule = new ContractRule(UnitOfWork);
                DomainClasses.Contract.Contract contract = contractRule.Find(contractId);



                if (contract == null)
                {
                    throw new OMFValidationException($" قرارداد با شناسه ثبت شده یافت نشد. شناسه: {contractId}");
                }


                if (actionMethodParams.ContinueInfo.ActionId == (int)WorkFlowActionType.TabdelPishghrardadBeGharardad)
                {
                    using (var uow = new UnitOfWork())
                    {
                        contract.Status       = Status.ConfirmationPreContract;
                        contract.ContractType = ContractType.RentTo;

                        // var contract_Sazes = uow.Repository<Contract_Saze>().Queryable().Where(x => x.ContractID == contract.ID).ToList();

                        foreach (var contract_Saze in contract.Contract_Sazes ?? new List <Contract_Saze>())
                        {
                            contract_Saze.Status      = Status.ConfirmationPreContract;
                            contract_Saze.ObjectState = OMF.Common.Enums.ObjectState.Modified;
                        }

                        uow.Repository <DomainClasses.Contract.Contract>().Update(contract);


                        uow.SaveChanges();
                    }


                    InvoiceRule invoiceRule = new InvoiceRule(UnitOfWork);
                    var         invoice     = invoiceRule.ConvertContractToInvoice(contract.ID, NoeFactor.RentTo);

                    var document = invoiceRule.RegisterDocument(invoice, invoice.OrganId);

                    DocumentRule documentRule = new DocumentRule();
                    documentRule.Insert(document, invoice.OrganId);
                    documentRule.SaveChanges();
                }
                return(ex);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public ActionResult Index(int?ccgId, int?page = 1, int?itemsPerPage = 10,
                                  bool listAll        = false, string query = null, int?appUserFilter = (int)AppUserFilter.AllAppUsers)
        {
            #region Set params to pass to view
            var actionParams = new ActionMethodParams
            {
                ItemsPerPage = itemsPerPage,
                Page         = page,
                Query        = query,
            };
            #endregion

            List <CCGAppUser> users;

            // Get users in a CCG or all users
            users = ccgId != null?unitOfWork.AppUserRepository.FindUsers(u => u.CcgId == ccgId).ToList()
                        : unitOfWork.AppUserRepository.FindUsers().ToList();

            // Filter app users
            var filterOption = appUserFilter != null ?
                               (AppUserFilter)appUserFilter : AppUserFilter.AllAppUsers;
            users = _service.FilterAppUsers(users, filterOption);

            if (query != null)
            {
                users = _service.SearchUsers(query);
            }

            // Map list of users to list of view models
            var usersList = Mapper.Map <IList <CcgAppUserViewModel> >(users);

            // Set user has-photo flag and img src
            _service.SetImgSrcAndHasPhotoFlag(usersList);

            itemsPerPage = listAll ? usersList.Count : itemsPerPage;
            var viewModel = new ListCcgAppUsersViewModel
            {
                AppUsers      = usersList.ToPagedList(page ?? 1, itemsPerPage ?? 10),
                Params        = actionParams,
                AppUserFilter = appUserFilter != null ? (AppUserFilter)appUserFilter : AppUserFilter.AllAppUsers
            };

            _service.SetHrefLinkForPhoneNumbers(viewModel.AppUsers);

            return(View(viewModel));
        }
예제 #4
0
        public static WFExchangeData PostModirAction(ActionMethodParams actionMethodParams)
        {
            try
            {
                int invoiceId = actionMethodParams.InitialExchangeData[WfConstants.RelatedRecordIdKey].ConvertTo <int>();

                WFExchangeData ex = (WFExchangeData)actionMethodParams.WorkflowInstanceState.ExchangeData;

                InvoiceRule invoiceRule = new InvoiceRule(UnitOfWork);
                Invoice     invoice     = invoiceRule.Find(invoiceId);

                if (invoice == null)
                {
                    throw new OMFValidationException($"فاکتوری با شناسه ثبت شده یافت نشد. شناسه: {invoiceId}");
                }

                if (actionMethodParams.ContinueInfo.ActionId == (int)WorkFlowActionType.TaeedVaKhateme)
                {
                    var document = invoiceRule.RegisterDocument(invoice, invoice.OrganId);

                    DocumentRule documentRule = new DocumentRule();
                    documentRule.Insert(document, invoice.OrganId);
                    documentRule.SaveChanges();

                    invoice.Status = NoeInsertFactor.WaitingToReceive;
                    invoiceRule.Update(invoice);

                    invoiceRule.SaveChanges();
                }
                return(ex);
            }
            catch (Exception ex1)
            {
                throw;
            }
        }
예제 #5
0
        public static WFExchangeData PostModirAction(ActionMethodParams actionMethodParams)
        {
            int contractSazeId = actionMethodParams.InitialExchangeData[WfConstants.RelatedRecordIdKey].ConvertTo <int>();

            WFExchangeData ex = (WFExchangeData)actionMethodParams.WorkflowInstanceState.ExchangeData;

            Contract_SazeRule contract_SazeRule = new Contract_SazeRule(UnitOfWork);
            Contract_Saze     contract_Saze     = contract_SazeRule.Find(contractSazeId);



            if (contract_Saze == null)
            {
                throw new OMFValidationException($"رسانه قرارداد با شناسه ثبت شده یافت نشد. شناسه: {contractSazeId}");
            }

            ContractRule contractRule = new ContractRule(UnitOfWork);

            DomainClasses.Contract.Contract contract = contractRule.Find(contract_Saze.ContractID);


            if (actionMethodParams.ContinueInfo.ActionId == (int)WorkFlowActionType.TaeedVaKhateme)
            {
                contract_Saze.Status = Status.ConfirmationContract;
                contract_SazeRule.Update(contract_Saze);
                contract_SazeRule.SaveChanges();

                if (contract.Contract_Sazes.All(x => x.Status == Status.ConfirmationContract))
                {
                    contract.Status = Status.ConfirmationContract;
                    contractRule.Update(contract);
                    contractRule.SaveChanges();
                }
            }
            return(ex);
        }