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);
        }
Exemple #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;
            }
        }
Exemple #3
0
 public bool Insert(DomainClasses.Contract.Contract contract)
 {
     try
     {
         _contracts.Add(contract);
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Exemple #4
0
        public bool Delete(DomainClasses.Contract.Contract contract)
        {
            try
            {
                _contracts.Attach(contract);
                _contracts.Remove(contract);

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Exemple #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);
        }
Exemple #6
0
        public bool Update(DomainClasses.Contract.Contract contract)
        {
            try
            {
                var oldContract = _uow.Set <DomainClasses.Contract.Contract>()
                                  .Local
                                  .FirstOrDefault(f => f.ID == contract.ID);
                if (oldContract != null)
                {
                    _uow.Entry(oldContract).State = EntityState.Detached;
                }

                //foreach (var contract_Saze in contract.Contract_Sazes ?? new List<Contract_Saze>())
                //{
                //    var oldContract_Saze = _uow.Set<Contract_Saze>().Local.FirstOrDefault(f => f.ID == contract_Saze.ID);
                //    if (oldContract_Saze != null)
                //    {
                //        _uow.Entry(oldContract_Saze).State = EntityState.Detached;

                //        //if (contract_Saze.Contarct_Saze_Bazareabs != null)
                //        //{
                //        //    var oldContarct_Saze_Bazareab = _uow.Set<Contract_Saze_Bazareab>().Local.ToList(f => f.ID == contract_Saze.Contarct_Saze_Bazareabs.ID);
                //        //    if (oldContarct_Saze_Bazareab != null)
                //        //    {
                //        //        _uow.Entry(oldContarct_Saze_Bazareab).State = EntityState.Detached;
                //        //    }
                //        //}

                //        //if (contract_Saze.Contract_Saze_Tarahs != null)
                //        //{
                //        //    var oldContract_Saze_Tarah = _uow.Set<Contract_Saze_Tarah>().Local.FirstOrDefault(f => f.ID == contract_Saze.Contract_Saze_Tarah.ID);
                //        //    if (oldContract_Saze_Tarah != null)
                //        //    {
                //        //        _uow.Entry(oldContract_Saze_Tarah).State = EntityState.Detached;
                //        //    }
                //        //}

                //        //if (contract_Saze.Contract_Saze_Nasabs != null)
                //        //{
                //        //    var oldContract_Saze_Nasab = _uow.Set<Contract_Saze_Nasab>().Local.FirstOrDefault(f => f.ID == contract_Saze.Contract_Saze_Nasab.ID);
                //        //    if (oldContract_Saze_Nasab != null)
                //        //    {
                //        //        _uow.Entry(oldContract_Saze_Nasab).State = EntityState.Detached;
                //        //    }
                //        //}

                //        //if (contract_Saze.Contract_Saze_Chapkhanes != null)
                //        //{
                //        //    var oldContract_Saze_Chapkhane = _uow.Set<Contract_Saze_Chapkhane>().Local.FirstOrDefault(f => f.ID == contract_Saze.Contract_Saze_Chapkhane.ID);
                //        //    if (oldContract_Saze_Chapkhane != null)
                //        //    {
                //        //        _uow.Entry(oldContract_Saze_Chapkhane).State = EntityState.Detached;
                //        //    }
                //        //}
                //    }
                //}
                _contracts.Attach(contract);

                _uow.Entry(contract).State = EntityState.Modified;

                //foreach (var Contract_Saze in contract.Contract_Sazes)
                //{

                //        foreach (var Contarct_Saze_Bazareab in Contract_Saze.Contarct_Saze_Bazareabs)
                //        {
                //            if (Contarct_Saze_Bazareab.ID > 0)
                //            {
                //                _uow.Entry(Contarct_Saze_Bazareab).State = EntityState.Modified;
                //            }
                //            else
                //            {
                //                _uow.Entry(Contarct_Saze_Bazareab).State = EntityState.Added;
                //            }
                //        }

                //        foreach (var Contract_Saze_Nasab in Contract_Saze.Contract_Saze_Nasabs)
                //        {


                //            if (Contract_Saze_Nasab.ID > 0)
                //            {
                //                _uow.Entry(Contract_Saze_Nasab).State = EntityState.Modified;
                //            }
                //            else
                //            {
                //                _uow.Entry(Contract_Saze_Nasab).State = EntityState.Added;
                //            }
                //        }

                //        foreach (var Contract_Saze_Chapkhane in Contract_Saze.Contract_Saze_Chapkhanes)
                //        {
                //            if (Contract_Saze_Chapkhane.ID > 0)
                //            {
                //                _uow.Entry(Contract_Saze_Chapkhane).State = EntityState.Modified;
                //            }
                //            else
                //            {
                //                _uow.Entry(Contract_Saze_Chapkhane).State = EntityState.Added;
                //            }
                //        }

                //        foreach (var Contract_Saze_Tarah in Contract_Saze.Contract_Saze_Tarahs)
                //        {
                //            if (Contract_Saze_Tarah.ID > 0)
                //            {
                //                _uow.Entry(Contract_Saze_Tarah).State = EntityState.Modified;
                //            }
                //            else
                //            {
                //                _uow.Entry(Contract_Saze_Tarah).State = EntityState.Added;
                //            }
                //        }
                //    if (Contract_Saze.ID > 0)
                //    {
                //        _uow.Entry(Contract_Saze).State = EntityState.Modified;
                //    }
                //    else

                //        _uow.Entry(Contract_Saze).State = EntityState.Added;
                //    }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }