Esempio n. 1
0
        public async Task <Response> AddContract(ContractVM contract)
        {
            var Dto = Mapper.Map <ContractVM, Contract>(contract);

            Contract Exist = await _db.Contracts.Where(x => x.ContractNo == contract.ContractNo).FirstOrDefaultAsync();

            if (Exist != null)
            {
                return(GenericResponses <int> .ResponseStatus(true, Constant.MDGNoAlreadyExist, (int)Constant.httpStatus.NoContent, -1));
            }

            _db.Contracts.Add(Dto);

            int result = await _db.SaveChangesAsync();

            if (result == 1)
            {
                // Mapper.Initialize(cfg => cfg.CreateMap<User, UserVM>());

                return(GenericResponses <int> .ResponseStatus(false, Constant.MSGRecordFound, (int)Constant.httpStatus.Ok, result));
            }
            else
            {
                return(GenericResponses <int> .ResponseStatus(true, Constant.MDGNoLoginFailed, (int)Constant.httpStatus.NoContent, result));
            }
        }
Esempio n. 2
0
        public async Task <Response> RemoveContract(ContractVM contract)
        {
            try
            {
                var DTO = await _db.Contracts.Where(x => x.Id == contract.Id).FirstOrDefaultAsync();

                _db.Contracts.Remove(DTO);

                int result = await _db.SaveChangesAsync();

                if (result == 1)
                {
                    // Mapper.Initialize(cfg => cfg.CreateMap<User, UserVM>());

                    return(GenericResponses <int> .ResponseStatus(false, Constant.MSGRecordFound, (int)Constant.httpStatus.Ok, result));
                }
                else
                {
                    return(GenericResponses <int> .ResponseStatus(true, Constant.MSGFailed, (int)Constant.httpStatus.NoContent, result));
                }
            }
            catch (Exception e)
            {
                return(GenericResponses <int> .ResponseStatus(true, e.Message, (int)Constant.httpStatus.NoContent, 0));
            }
        }
Esempio n. 3
0
        public async Task <Response> UpdateContractQty(ContractVM contract)
        {
            try
            {
                Contract DTO = await _db.Contracts.Where(x => x.ContractNo == contract.ContractNo).FirstOrDefaultAsync();

                DTO.TotatQty = (DTO.TotatQty + contract.TotatQty);



                int result = await _db.SaveChangesAsync();

                if (result == 1)
                {
                    // Mapper.Initialize(cfg => cfg.CreateMap<User, UserVM>());

                    return(GenericResponses <int> .ResponseStatus(false, Constant.MSGRecordFound, (int)Constant.httpStatus.Ok, result));
                }
                else
                {
                    return(GenericResponses <int> .ResponseStatus(true, Constant.MDGNoLoginFailed, (int)Constant.httpStatus.NoContent, result));
                }
            }
            catch (Exception e)
            {
                return(GenericResponses <int> .ResponseStatus(true, e.Message, (int)Constant.httpStatus.NoContent, 0));
            }
        }
Esempio n. 4
0
 public Contract(ContractVM ContractVM)
 {
     this.JoinDate       = ContractVM.JoinDate;
     this.EndDate        = ContractVM.EndDate;
     this.StatusContract = ContractVM.StatusContract;
     this.CreateDate     = DateTime.Now.ToLocalTime();
 }
Esempio n. 5
0
        public async Task <Response> UpdateContract(ContractVM contract)
        {
            try
            {
                Contract DTO = Mapper.Map <ContractVM, Contract>(contract);



                _db.Contracts.Add(DTO);

                int result = await _db.SaveChangesAsync();

                if (result == 1)
                {
                    // Mapper.Initialize(cfg => cfg.CreateMap<User, UserVM>());

                    return(GenericResponses <int> .ResponseStatus(false, Constant.MSGRecordFound, (int)Constant.httpStatus.Ok, result));
                }
                else
                {
                    return(GenericResponses <int> .ResponseStatus(true, Constant.MDGNoLoginFailed, (int)Constant.httpStatus.NoContent, result));
                }
            }
            catch (Exception e)
            {
                return(GenericResponses <int> .ResponseStatus(true, e.Message, (int)Constant.httpStatus.NoContent, 0));
            }
        }
Esempio n. 6
0
 public void Update(ContractVM ContractVM)
 {
     this.JoinDate       = ContractVM.JoinDate;
     this.EndDate        = ContractVM.EndDate;
     this.StatusContract = ContractVM.StatusContract;
     this.UpdateDate     = DateTime.Now.ToLocalTime();
 }
        public ActionResult Edit([Bind(Prefix = "Contract")] Contract contract, [Bind(Include = "Projects")] List <Guid> projects)
        {
            Contract dbContract = UOW.Contracts.GetById(contract.Id);

            if (dbContract != null)
            {
                dbContract.Title = contract.Title;

                dbContract.Projects.Clear();
                if (projects != null)
                {
                    dbContract.Projects = UOW.Projects.GetSetByIds(projects);

                    UOW.Commit();
                    contract = dbContract;
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Contracts must be associated with one or more projects.");
                }
            }
            else
            {
                return(HttpNotFound());
            }
            ContractVM vm = new ContractVM
            {
                Contract = contract,
                Projects = UOW.Projects.GetAll()
            };

            return(View(vm));
        }
        public ActionResult Create()
        {
            ContractVM vm = new ContractVM
            {
                Projects = UOW.Projects.GetAll()
            };

            return(View("Edit", vm));
        }
        public IHttpActionResult GetContractById([FromUri] int id)
        {
            ContractVM vm = service.getById(id);

            if (vm == null)
            {
                return(NotFound());
            }
            return(Ok(vm));
        }
Esempio n. 10
0
 public void Update(ContractVM vm)
 {
     contract.Id = vm.Id;
     contract.SelectedContractorID = vm.SelectedContractorId;
     contract.Date = vm.Date;
     contract.ParentDocumentLink = vm.ParentDocumentLink;
     contract.Note     = vm.Note;
     contract.Number   = vm.Number;
     contract.StatusID = vm.StatusId;
     try
     {
         rep.Update(contract);
     }
     catch
     {
     }
 }
        public ActionResult Details(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Contract contract = UOW.Contracts.GetById(id);

            if (contract == null)
            {
                return(HttpNotFound());
            }
            ContractVM vm = new ContractVM
            {
                Contract = contract
            };

            return(View(vm));
        }
        public async Task <IActionResult> Create([Bind(ATTRIBUTES_TO_BIND)] ContractVM UpdateVm)
        {
            Person person = await _personRepository.GetById(UpdateVm.PersonId);

            Estate estate = await _estateRepository.GetById(UpdateVm.EstateId);

            WaterMeter meter = await _waterMeterRepository.GetById(UpdateVm.MeterId);

            ContractType contractType = await _contractTypeRepository.GetById(UpdateVm.ContractTypeId);

            Contract localContract = Contract.Create(contractType: contractType,
                                                     personsByEstate: PersonsByEstate.Create(person, estate),
                                                     waterMeter: meter,
                                                     initialMeterRead: UpdateVm.InitialMeterRead,
                                                     doubleBasicCharge: UpdateVm.DoubleBasicCharge,
                                                     isActive: UpdateVm.IsActive);

            return(await ConfirmSaveConcrete(UpdateVm, localContract));
        }
Esempio n. 13
0
        public bool isInsertable(ContractVM contract)
        {
            try
            {
                //var users =  _db.Users.Select(x => x).ToList();
                var DTO = _db.Contracts.Where(x => x.ContractNo == contract.ContractNo).ToList();

                if (DTO.Count < 1)
                {
                    return(true);
                }

                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        public ActionResult Create([Bind(Prefix = "Contract")] Contract contract, [Bind(Include = "Projects")] List <Guid> projects)
        {
            if (!string.IsNullOrWhiteSpace(contract.Title) && projects != null && projects.Count > 0)
            {
                Contract newContract = new Contract();
                newContract.Id          = Guid.NewGuid();
                newContract.Title       = contract.Title;
                newContract.CreatedDate = DateTime.Now;

                Counter dbCounter  = UOW.Counters.GetByName("Contract_Number");
                int     nextNumber = dbCounter.CurrentNumber = dbCounter.CurrentNumber + 1;
                newContract.Number = nextNumber.ToString();

                newContract.Projects.Clear();
                if (projects != null)
                {
                    newContract.Projects = UOW.Projects.GetSetByIds(projects);

                    UOW.Commit();
                    contract = newContract;
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Contracts must be associated with one or more projects.");
                }

                UOW.Contracts.Add(newContract);
                UOW.Commit();
                contract = newContract;
            }
            ContractVM vm = new ContractVM
            {
                Contract = contract,
                Projects = UOW.Projects.GetAll()
            };

            return(View("Edit", vm));
        }
        public async Task <IActionResult> Edit(int id, [Bind(ATTRIBUTES_TO_BIND)] ContractVM UpdateVm)
        {
            WaterMeter meter = await _waterMeterRepository.GetById(UpdateVm.MeterId);

            ContractType contractType = await _contractTypeRepository.GetById(UpdateVm.ContractTypeId);

            var MaybePersonByState = await _personsByEstateRepository.GetDataByIdentifier(UpdateVm.PersonId, UpdateVm.EstateId);

            if (MaybePersonByState.HasNoValue)
            {
                ModelState.AddModelError(string.Empty, "No se encontró el contrato");
                return(View(UpdateVm));
            }

            Contract localContract = Contract.Create(contractType: contractType,
                                                     personsByEstate: MaybePersonByState.Value,
                                                     waterMeter: meter,
                                                     initialMeterRead: UpdateVm.InitialMeterRead,
                                                     doubleBasicCharge: UpdateVm.DoubleBasicCharge,
                                                     isActive: UpdateVm.IsActive);

            return(await ConfirmUpdateConcrete(id, localContract, UpdateVm));
        }
        public async Task <IActionResult> Index(int?id)
        {
            if (!id.HasValue)
            {
                id = 0;
            }
            ContractVM contractVM = new ContractVM();

            switch (id)
            {
            case 0:
                contractVM.DeployContractVM.SellerAddress       = "0x7AC658F93a3f21187Ef55afd2E47509dc9E63B15";
                contractVM.DeployContractVM.BuyerAddress        = "0x87f39fB5D19bB6e673Fec08ee09a97872241de6C";
                contractVM.DeployContractVM.EscrowHolderAddress = "0x987D6639c025354042BB913A503F4532390652ad";
                contractVM.DeployContractVM.EtherToPay          = "0.0001";
                contractVM.DeployContractVM.ExpiryDate          = DateTime.Now.AddDays(30);
                contractVM.DeployContractVM.GasLimit            = "67412";
                contractVM.DeployContractVM.Network             = Network.Ganache;
                break;

            case 1:
                contractVM.DeployContractVM.SellerAddress       = "0x005e44B5ce1E91c2ee3b6e13B52F174b664b8124";
                contractVM.DeployContractVM.BuyerAddress        = "0x002E271cd0b4f04Ca47F12D39d248dDb08D4eDdE";
                contractVM.DeployContractVM.EscrowHolderAddress = "0x004EF9E943EbeecF4d161384666d939b34af9146";
                contractVM.DeployContractVM.EtherToPay          = "0.0001";
                contractVM.DeployContractVM.ExpiryDate          = DateTime.Now.AddDays(30);
                contractVM.DeployContractVM.GasLimit            = "67412";
                contractVM.DeployContractVM.Network             = Network.Ropsten;
                break;
            }


            contractVM.ContractList = await ContractController.getContracts();


            return(View(contractVM));
        }
Esempio n. 17
0
 public JsonResult Update(ContractVM vm)
 {
     contractsMng.Update(vm);
     return(Json(new { }, JsonRequestBehavior.AllowGet));
 }
Esempio n. 18
0
        public async Task <List <string> > SaveContract(ContractVM contractVM)
        {
            try
            {
                var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId);

                FinanYearRule finanYearRule = new FinanYearRule();
                var           finanYears    = await finanYearRule.GetAllByOrganIdAsync(organId);

                var finanYear = finanYears.Where(x => x.Closed == false && x.OrganId == organId);

                contractVM.Contract_Sazes = contractVM.Contract_Sazes.Where(x => x.Saze != null).ToList();

                foreach (var contract_Saze in contractVM.Contract_Sazes)
                {
                    if (contract_Saze.Saze != null)
                    {
                        contract_Saze.SazeId = contract_Saze.Saze.ID;
                    }

                    if (contract_Saze.NoeEjare != null)
                    {
                        contract_Saze.NoeEjareId = contract_Saze.NoeEjare.ID;
                    }

                    if (contract_Saze.DisplayTarikhShorou != null)
                    {
                        contract_Saze.TarikhShorou = PersianDateUtils.ToDateTime(contract_Saze.DisplayTarikhShorou);



                        if (contract_Saze.NoeEjareId == 1)
                        {
                            contract_Saze.TarikhPayan = contract_Saze.TarikhShorou.AddDays((double)contract_Saze.Quantity);
                        }
                        else if (contract_Saze.NoeEjareId == 2)
                        {
                            PersianCalendar pc = new PersianCalendar();
                            contract_Saze.TarikhPayan        = pc.AddMonths(contract_Saze.TarikhShorou, (int)contract_Saze.Quantity);
                            contract_Saze.DisplayTarikhPayan = PersianDateUtils.ToPersianDate(contract_Saze.TarikhPayan);
                        }
                    }
                }

                if (contractVM.Contact != null)
                {
                    contractVM.ContactId = contractVM.Contact.ID;
                }

                DomainClasses.Contract.Contract contract = new DomainClasses.Contract.Contract();
                Mapper.Map(contractVM, contract);
                contract.OrganId  = organId;
                contract.DateTime = PersianDateUtils.ToDateTime(contract.DisplayDate);


                ContractValidate validator = new ContractValidate();
                FluentValidation.Results.ValidationResult results = validator.Validate(contract);

                List <string> failurs = new List <string>();;

                if (!results.IsValid)
                {
                    foreach (var error in results.Errors)
                    {
                        failurs.Add(error.ErrorMessage);
                    }
                    return(failurs);
                }

                //  contract = savePaymentForContract(contract, contractVM);
                if (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") &&
                    contractVM.ContractType == ContractType.RentFrom)
                {
                    contract.Status = Status.ConfirmationContract;
                }
                else if (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") &&
                         contractVM.ContractType == ContractType.PreContract)
                {
                    contract.Status = Status.ConfirmationPreContract;

                    contract.ContractType = ContractType.RentTo;

                    // contract.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;
                    }
                }
                else if (contractVM.ContractType == ContractType.PreContract && contractVM.Status == Status.SendPreContract)
                {
                    //nothing
                }
                else
                {
                    contract.Status = Status.Temporary;
                }

                if (contract.ID > 0)
                {
                    foreach (var contractSaze in contract.Contract_Sazes)
                    {
                        contractSaze.TarikhShorou = PersianDateUtils.ToDateTime(contractSaze.DisplayTarikhShorou);
                        contractSaze.ContractID   = contract.ID;

                        if (contractSaze.ID > 0)
                        {
                            contractSaze.ContractID  = contract.ID;
                            contractSaze.ObjectState = OMF.Common.Enums.ObjectState.Modified;
                        }

                        else
                        {
                            contractSaze.ContractID  = contract.ID;
                            contractSaze.ObjectState = OMF.Common.Enums.ObjectState.Added;
                        }


                        foreach (var contarct_Saze_Bazareab in contractSaze.Contarct_Saze_Bazareabs)
                        {
                            contractSaze.HasBazareab = true;
                            if (contarct_Saze_Bazareab.ID > 0)
                            {
                                contarct_Saze_Bazareab.ContarctSazeID = contractSaze.ID;
                                contarct_Saze_Bazareab.ObjectState    = ObjectState.Modified;
                            }
                            else
                            {
                                contarct_Saze_Bazareab.ContarctSazeID = contractSaze.ID;
                                contarct_Saze_Bazareab.ObjectState    = ObjectState.Added;
                            }
                        }

                        foreach (var contract_Saze_Tarah in contractSaze.Contract_Saze_Tarahs)
                        {
                            contractSaze.HasTarah = true;

                            if (contract_Saze_Tarah.ID > 0)
                            {
                                contract_Saze_Tarah.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Tarah.ObjectState    = ObjectState.Modified;
                            }

                            else
                            {
                                contract_Saze_Tarah.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Tarah.ObjectState    = ObjectState.Added;
                            }
                        }

                        foreach (var contract_Saze_Chapkhane in contractSaze.Contract_Saze_Chapkhanes)
                        {
                            contractSaze.HasChap = true;

                            if (contract_Saze_Chapkhane.ID > 0)
                            {
                                contract_Saze_Chapkhane.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Chapkhane.ObjectState    = ObjectState.Modified;
                            }

                            else
                            {
                                contract_Saze_Chapkhane.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Chapkhane.ObjectState    = ObjectState.Added;
                            }
                        }

                        foreach (var contract_Saze_Nasab in contractSaze.Contract_Saze_Nasabs)
                        {
                            contractSaze.HasNasab = true;
                            if (contract_Saze_Nasab.ID > 0)
                            {
                                contract_Saze_Nasab.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Nasab.ObjectState    = ObjectState.Modified;
                            }

                            else
                            {
                                contract_Saze_Nasab.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Nasab.ObjectState    = ObjectState.Added;
                            }
                        }
                    }


                    foreach (var contract_PayRecevie in contract.Contract_PayRecevies)
                    {
                        if (contract_PayRecevie.ID > 0)
                        {
                            contract_PayRecevie.ContractId  = contract.ID;
                            contract_PayRecevie.ObjectState = OMF.Common.Enums.ObjectState.Modified;
                        }

                        else
                        {
                            contract_PayRecevie.ContractId = contract.ID;
                            contract_PayRecevie.IsReceive  = true;
                            contract_PayRecevie.OrganId    = organId;
                            contract_PayRecevie.Status     = Status.Temporary;
                            contract_PayRecevie.Type       = PayRecevieType.Sir;
                            contract_PayRecevie.Date       = DateTime.Now;

                            contract_PayRecevie.ContactId   = contract.ID;
                            contract_PayRecevie.ObjectState = OMF.Common.Enums.ObjectState.Added;
                        }


                        foreach (var contract_DetailPayRecevie in contract_PayRecevie.Contract_DetailPayRecevies)
                        {
                            if (contract_DetailPayRecevie.ID > 0)
                            {
                                contract_DetailPayRecevie.Contract_PayRecevieId = contract_PayRecevie.ID;
                                contract_DetailPayRecevie.ObjectState           = ObjectState.Modified;
                            }
                            else
                            {
                                contract_DetailPayRecevie.Contract_PayRecevieId = contract_PayRecevie.ID;
                                contract_DetailPayRecevie.ObjectState           = ObjectState.Added;
                            }
                        }
                    }
                    contract.ObjectState = OMF.Common.Enums.ObjectState.Modified;
                }

                else
                {
                    foreach (var contractSaze in contract.Contract_Sazes)
                    {
                        contractSaze.ContractID   = contract.ID;
                        contractSaze.TarikhShorou = PersianDateUtils.ToDateTime(contractSaze.DisplayTarikhShorou);

                        if (contractSaze.ID > 0)
                        {
                            contractSaze.ContractID  = contract.ID;
                            contractSaze.ObjectState = OMF.Common.Enums.ObjectState.Modified;
                        }

                        else
                        {
                            contractSaze.ContractID  = contract.ID;
                            contractSaze.ObjectState = OMF.Common.Enums.ObjectState.Added;
                        }


                        foreach (var contarct_Saze_Bazareab in contractSaze.Contarct_Saze_Bazareabs)
                        {
                            contractSaze.HasBazareab = true;

                            if (contarct_Saze_Bazareab.NoeMozdBazryab == NoeMozd.Month)
                            {
                                contarct_Saze_Bazareab.Hazine = 0;
                            }

                            if (contarct_Saze_Bazareab.ID > 0)
                            {
                                contarct_Saze_Bazareab.ContarctSazeID = contractSaze.ID;
                                contarct_Saze_Bazareab.ObjectState    = ObjectState.Modified;
                            }
                            else
                            {
                                contarct_Saze_Bazareab.ContarctSazeID = contractSaze.ID;
                                contarct_Saze_Bazareab.ObjectState    = ObjectState.Added;
                            }
                        }

                        foreach (var contract_Saze_Tarah in contractSaze.Contract_Saze_Tarahs)
                        {
                            contractSaze.HasTarah = true;

                            if (contract_Saze_Tarah.NoeMozdTarah == NoeMozd.Month)
                            {
                                contract_Saze_Tarah.Hazine = 0;
                            }

                            if (contract_Saze_Tarah.ID > 0)
                            {
                                contract_Saze_Tarah.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Tarah.ObjectState    = ObjectState.Modified;
                            }

                            else
                            {
                                contract_Saze_Tarah.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Tarah.ObjectState    = ObjectState.Added;
                            }
                        }

                        foreach (var contract_Saze_Chapkhane in contractSaze.Contract_Saze_Chapkhanes)
                        {
                            contractSaze.HasChap = true;



                            if (contract_Saze_Chapkhane.ID > 0)
                            {
                                contract_Saze_Chapkhane.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Chapkhane.ObjectState    = ObjectState.Modified;
                            }

                            else
                            {
                                contract_Saze_Chapkhane.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Chapkhane.ObjectState    = ObjectState.Added;
                            }
                        }

                        foreach (var contract_Saze_Nasab in contractSaze.Contract_Saze_Nasabs)
                        {
                            contractSaze.HasNasab = true;

                            if (contract_Saze_Nasab.NoeMozdNasab == NoeMozd.Month)
                            {
                                contract_Saze_Nasab.Hazine = 0;
                            }

                            if (contract_Saze_Nasab.ID > 0)
                            {
                                contract_Saze_Nasab.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Nasab.ObjectState    = ObjectState.Modified;
                            }

                            else
                            {
                                contract_Saze_Nasab.ContarctSazeID = contractSaze.ID;
                                contract_Saze_Nasab.ObjectState    = ObjectState.Added;
                            }
                        }
                    }

                    if (contract.Contract_PayRecevies != null && contract.Contract_PayRecevies.Count() > 0 &&
                        contract.Contract_PayRecevies[0].Contract_DetailPayRecevies != null && contract.Contract_PayRecevies[0].Contract_DetailPayRecevies.Count() > 0)
                    {
                        foreach (var contract_PayRecevie in contract.Contract_PayRecevies)
                        {
                            contract_PayRecevie.ContractId = contract.ID;
                            contract_PayRecevie.Date       = DateTime.Now;
                            contract_PayRecevie.IsReceive  = true;


                            if (contract_PayRecevie.ID > 0)
                            {
                                contract_PayRecevie.ContractId  = contract.ID;
                                contract_PayRecevie.ObjectState = OMF.Common.Enums.ObjectState.Modified;
                            }

                            else
                            {
                                contract_PayRecevie.ContractId  = contract.ID;
                                contract_PayRecevie.ObjectState = OMF.Common.Enums.ObjectState.Added;
                            }


                            foreach (var contract_DetailPayRecevie in contract_PayRecevie.Contract_DetailPayRecevies)
                            {
                                if (contract_DetailPayRecevie.ID > 0)
                                {
                                    contract_DetailPayRecevie.Contract_PayRecevieId = contract_PayRecevie.ID;
                                    contract_DetailPayRecevie.ObjectState           = ObjectState.Modified;
                                }
                                else
                                {
                                    contract_DetailPayRecevie.Contract_PayRecevieId = contract_PayRecevie.ID;
                                    contract_DetailPayRecevie.ObjectState           = ObjectState.Added;
                                }
                            }
                        }
                    }
                    else
                    {
                        contract.Contract_PayRecevies = null;
                    }
                    contract.ObjectState = OMF.Common.Enums.ObjectState.Added;
                }


                this.UnitOfWork.RepositoryAsync <DomainClasses.Contract.Contract>().InsertOrUpdateGraph(contract);



                //  ContactRule contactRule = new ContactRule();
                //   await contactRule.UpdateContact(invoice.InvoiceType, invoice.ContactId);



                await this.UnitOfWork.SaveChangesAsync();

                if (contractVM.ID <= 0)
                {
                    if ((SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") &&
                         contractVM.ContractType == ContractType.PreContract) || (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") &&
                                                                                  contractVM.Status == Status.ConfirmationContract))
                    {
                        InvoiceRule invoiceRule = new InvoiceRule();
                        var         invoice     = invoiceRule.ConvertContractToInvoice(contract.ID, NoeFactor.RentTo);

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

                        DocumentRule documentRule = new DocumentRule();
                        await documentRule.InsertAsync(document, invoice.OrganId);

                        await documentRule.SaveChangesAsync();

                        invoice.DocumentID = document.ID;
                        invoiceRule.Update(invoice);
                        await invoiceRule.SaveChangesAsync();
                    }
                    else if (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") &&
                             contractVM.ContractType == ContractType.RentTo)
                    {
                        InvoiceRule invoiceRule = new InvoiceRule();
                        invoiceRule.ConvertContractToInvoice(contract.ID, NoeFactor.RentFrom);
                    }
                }



                return(failurs);
            }
            catch (Exception ex)
            {
                var p = ex;
                throw;
            }
        }
 public void CreateContract([FromBody] ContractVM request)
 {
     service.add(request);
 }
Esempio n. 20
0
        public async Task <ActionResult> AddDo(DorderVM dorder, FormCollection frm)
        {
            int     saveCopy           = Convert.ToInt32(frm["SaveCopy"]);
            decimal lastDoNumber       = 0;
            decimal lastContractNumber = 0;
            double  totalQty           = 0;
            int     party = (int)dorder.Party;

            if (saveCopy == 1)
            {
                dorder.EcomID      = (int)Session["Comp"];
                dorder.CreatedOn   = DateTime.Today;
                lastDoNumber       = (decimal)dorder.DoNumber;
                lastContractNumber = (decimal)dorder.ContractNumber;
                Response reslut = await _Repository.AddDo(dorder);

                totalQty = (double)dorder.Weight;
                if (!reslut.IsError)
                {
                    ISettingRepository _setting = new SettingRepository();
                    _setting.UpdateDoAutoIncrement(dorder.autoincrement);
                    _setting.UpdateLastContractNumber((decimal)dorder.ContractNumber);
                    _setting.UpdateLastDoNumber((lastDoNumber + 1));


                    IContractRespository _contract = new ContractRepository();
                    ContractVM           contract  = new ContractVM();
                    contract.Party        = party;
                    contract.PartyName    = dorder.PartyName;
                    contract.TotatQty     = totalQty;
                    contract.Unit         = dorder.Unit;
                    contract.EcomID       = (int)Session["Comp"];
                    contract.CreatedOn    = DateTime.Today;
                    contract.ContractType = dorder.ContractType;
                    contract.ContractNo   = dorder.ContractNumber;
                    if (_contract.isInsertable(contract))
                    {
                        await _contract.AddContract(contract);
                    }
                    else
                    {
                        await _contract.UpdateContractQty(contract);
                    }

                    IAddressHistoryRepository _addresHistory = new AddressHistoryRepository();
                    AdressHistory             addressHistory = new AdressHistory();

                    addressHistory.Party          = dorder.Party;
                    addressHistory.EnglisgAddress = dorder.AddressEng;
                    addressHistory.UrduAddress    = dorder.AddressUrd;

                    if (_addresHistory.isInsertable((int)addressHistory.Party))
                    {
                        _addresHistory.AddAddressHistory(addressHistory);
                    }

                    else
                    {
                        _addresHistory.updqateAddressHistory(addressHistory);
                    }
                }
            }

            else
            {
                lastDoNumber = (decimal)dorder.DoNumber;
                for (int i = 0; i < saveCopy; i++)
                {
                    dorder.EcomID      = (int)Session["Comp"];
                    dorder.CreatedOn   = DateTime.Today;
                    dorder.DoNumber    = lastDoNumber;
                    lastContractNumber = (decimal)dorder.ContractNumber;
                    Response reslutloop = await _Repository.AddDo(dorder);

                    totalQty = totalQty + (double)dorder.Weight;
                    lastDoNumber++;
                }

                ISettingRepository _setting = new SettingRepository();
                _setting.UpdateDoAutoIncrement(dorder.autoincrement);
                _setting.UpdateLastContractNumber((decimal)dorder.ContractNumber);
                _setting.UpdateLastDoNumber((lastDoNumber));

                IContractRespository _contract = new ContractRepository();
                ContractVM           contract  = new ContractVM();
                contract.Party        = party;
                contract.PartyName    = dorder.PartyName;
                contract.TotatQty     = totalQty;
                contract.Unit         = dorder.Unit;
                contract.EcomID       = (int)Session["Comp"];
                contract.CreatedOn    = DateTime.Today;
                contract.ContractType = dorder.ContractType;
                contract.ContractNo   = dorder.ContractNumber;

                if (_contract.isInsertable(contract))
                {
                    await _contract.AddContract(contract);
                }
                else
                {
                    await _contract.UpdateContractQty(contract);
                }

                IAddressHistoryRepository _addresHistory = new AddressHistoryRepository();
                AdressHistory             addressHistory = new AdressHistory();

                addressHistory.Party          = dorder.Party;
                addressHistory.EnglisgAddress = dorder.AddressEng;
                addressHistory.UrduAddress    = dorder.AddressUrd;

                if (_addresHistory.isInsertable((int)addressHistory.Party))
                {
                    _addresHistory.AddAddressHistory(addressHistory);
                }

                else
                {
                    _addresHistory.updqateAddressHistory(addressHistory);
                }
            }

            return(RedirectToAction("Index"));
        }