public IActionResult insertNewContract(ContractDTO contractDTO)
        {
            if (contractDTO == null)
            {
                return(BadRequest(new JsonCreate()
                {
                    message = Utils.ConstMessage.BAD_REQUEST, data = false
                }));
            }

            ContractManager contractManager = new ContractManager();
            ContractDTO     judge           = contractManager.insertContract(contractDTO);

            if (judge != null)
            {
                return(Ok(new JsonCreate()
                {
                    message = Utils.ConstMessage.INSERT_SUCCESS, data = judge
                }));
            }
            else
            {
                return(Conflict(new JsonCreate()
                {
                    message = Utils.ConstMessage.CONFILICT, data = false
                }));
            }
        }
Exemple #2
0
        private static Boolean AreContractsActive(DataConnector connector, MailingDTO mailing)
        {
            Boolean active;

            ContractDAO     contractDAO     = new ContractDAO(connector.MySqlConnection);
            ContractItemDAO contractItemDAO = new ContractItemDAO(connector.MySqlConnection);

            // Faturamento de um contrato apenas
            if (mailing.codigoContrato != 0)
            {
                ContractDTO contract = contractDAO.GetContract(mailing.codigoContrato);
                active = (contract.status != 3) && (contract.status != 4);
                return(active);
            }

            // Caso contrário é o faturamento de todos os equipamentos do cliente (um ou mais contratos)
            active = false;
            List <ContractItemDTO> itemList = contractItemDAO.GetItems("businessPartnerCode = '" + mailing.businessPartnerCode + "'");

            foreach (ContractItemDTO item in itemList)
            {
                ContractDTO contract = contractDAO.GetContract(item.contrato_id);
                if ((contract.status != 3) && (contract.status != 4))
                {
                    active = true;
                }
            }
            return(active);
        }
Exemple #3
0
        public bool ValidateContractForCreate(ContractDTO model, Role initiatorRole, out string error)
        {
            var usersId          = new int[] { model.CustomerId, model.PerformerId };
            var existingEntities = db.Users.ReadMultiple(usersId).ToList();

            if (existingEntities.Count() < 2)
            {
                error = "User is not exist";
            }
            if (existingEntities.Select(u => u.RoleId).Distinct().Count() < 2)
            {
                error = "Can't create contract for users with the same roles";
            }
            else if (model.ConstructionSiteAddress == null && initiatorRole == Role.Customer)
            {
                error = "Construction Site Address is required for customers";
            }
            else if (model.ExpirationDate < DateTime.Now.AddDays(1).Date)
            {
                error = "ExpirationDate must be in the future start from tomorrow";
            }
            else
            {
                error = null;
            }

            return(error == null);
        }
Exemple #4
0
        public int Create(ContractDTO model, Role initiatorRole)
        {
            if (!ValidateContractForCreate(model, initiatorRole, out string error))
            {
                throw new EBValidationException(error);
            }

            try
            {
                db.StartTransaction();

                int createdId  = db.Contracts.Create(_mapper.Map <Contract>(model));
                var fullEntity = db.Contracts.Read(createdId);

                var report = GeneratePdfReport(_mapper.Map <ContractDTO>(fullEntity));
                fileRepository.Create(report);

                fullEntity.ReportId = report.Metadata.Id;
                db.Contracts.Update(fullEntity);

                db.Commit();
                return(createdId);
            }
            catch
            {
                db.Rollback();
                throw;
            }
        }
Exemple #5
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();

            try
            {
                ContractDTO obj = new ContractDTO();
                obj.IDHouse    = Convert.ToInt64((cboHouse.SelectedItem as clsComboItem).Value);
                obj.IDCustomer = Convert.ToInt64((cboCustomer.SelectedItem as clsComboItem).Value);
                obj.IDEmployee = Convert.ToInt64((cboEmployee.SelectedItem as clsComboItem).Value);

                ds = ContractDAO.Contract_InsUpd(obj);
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0 && Convert.ToInt32(ds.Tables[0].Rows[0]["Result"]) == 1)
                {
                    clsMessages.ShowInformation("Thêm thành công!");
                    frmParent.LoadDataToForm();
                    this.Close();
                }
                else
                {
                    clsMessages.ShowWarning("Thêm thất bại!");
                }
            }
            catch (Exception ex)
            {
                clsMessages.ShowErrorException(ex);
            }
            finally
            {
                ds.Dispose();
            }
        }
 private void ButAddContract_Click(object sender, EventArgs e)
 {
     if (pData.Enabled == false)
     {
         pContracts.Enabled       = false;
         pData.Enabled            = true;
         butAddContract.BackColor = Color.Blue;
         butAddContract.Text      = "Отменить добавление";
         lBContracts.Enabled      = false;
         lContract.Text           = "Новый договор";
         lContract.Enabled        = false;
         butSave.Enabled          = true;
         contract      = new ContractDTO();
         addedProducts = new List <ProductArrival>();
         ReloadedData();
     }
     else
     {
         pContracts.Enabled       = true;
         pData.Enabled            = false;
         butAddContract.BackColor = Color.LimeGreen;
         butAddContract.Text      = "Добавить новый договор";
         lBContracts.Enabled      = true;
         lContract.Enabled        = true;
         if ((lBContracts.SelectedItem) != null)
         {
             lContract.Text = (lBContracts.SelectedItem).ToString();
         }
         else
         {
             lContract.Text = "Не выбран";
         }
     }
 }
 public ContractViewDTO()
 {
     Contract       = new ContractDTO();
     ContractType   = new ContractTypeDTO();
     UserView       = new UserViewDTO();
     RealEstateView = new RealEstateViewDTO();
     Employee       = new EmployeeDTO();
 }
 public string DeleteContract(ContractDTO dto)
 {
     if (Login())
     {
         return(Delete <string>("Contracts/" + dto.ContractGuid));
     }
     return(null);
 }
 public ContractDTO SaveContract(ContractDTO dto)
 {
     if (Login())
     {
         return(Put <ContractDTO>("Contracts", dto));
     }
     return(null);
 }
Exemple #10
0
        public async Task <int> UpdateContract(string id, ContractDTO Model)
        {
            var response = await httpClient.PutAsJsonAsync(string.Format(_ContractOption.ContractEndpoint.UpdateContract, id), Model);

            var apiResult = await response.Content.ReadAsStringAsync();

            var result = JsonConvert.DeserializeObject <int>(apiResult);

            return(result);
        }
Exemple #11
0
        public async Task <int> CreateContract(ContractDTO Model)
        {
            var response = await httpClient.PostAsJsonAsync(_ContractOption.ContractEndpoint.CreateContract, Model);

            var apiResult = await response.Content.ReadAsStringAsync();

            var result = JsonConvert.DeserializeObject <int>(apiResult);

            return(result);
        }
 private void ButSaveAndOpen_Click(object sender, EventArgs e)
 {
     if (tBNumber.Text.Length != 0 && tBOtv.Text.Length != 0 && dGVProducts.Rows.Count != 0)
     {
         if (MainForm.DB.Contracts.GetAll().Where(x => x.Number == int.Parse(tBNumber.Text) && x.ConclusionDate.ToLongDateString() == dTPData.Value.ToLongDateString()).Count() == 0)
         {
             float Total = 0;
             foreach (var item in addedProducts)
             {
                 Total += item.getSumRound();
             }
             contract = new ContractDTO
             {
                 Number            = int.Parse(tBNumber.Text),
                 PeriodInMonths    = dTPOkonch.Value.Month - dTPData.Value.Month,
                 ConclusionDate    = dTPData.Value,
                 CustomerId        = (cBCustomer.SelectedItem as CustomerDTO).Id,
                 SellerId          = (cBSeller.SelectedItem as SellerDTO).Id,
                 TypeSpec          = cBTypeProducts.Text,
                 ResponsiblePerson = tBOtv.Text,
                 FileName          = "Контракт №" + tBNumber.Text + " от " + dTPData.Value.ToLongDateString() + "\\contract.cont",
                 Total             = (float)Math.Round(Total, 2)
             };
             MainForm.DB.Contracts.Create(contract);
             MainForm.DB.Save();
             string        path    = Application.StartupPath + "\\Local Data\\";
             string        subpath = contract.ToString();
             DirectoryInfo dirInfo = new DirectoryInfo(path);
             if (!dirInfo.Exists)
             {
                 dirInfo.Create();
             }
             if (!Directory.Exists(path + contract.ToString()))
             {
                 dirInfo.CreateSubdirectory(subpath);
                 Stream stream     = new FileStream(Application.StartupPath + "\\Local Data\\" + contract.ToString() + "\\contract.cont", FileMode.Create);
                 var    serializer = new BinaryFormatter();
                 serializer.Serialize(stream, addedProducts);
                 stream.Close();
             }
             ReloadedContracts();
             MessageBox.Show("Договор успешно сохранён");
             ButAddContract_Click(this, new EventArgs());
         }
         else
         {
             MessageBox.Show("Договор с таким номером и датой заключения уже существует!");
         }
     }
     else
     {
         MessageBox.Show("Не все обязательные поля заполнены или список продуктов пуст!", "Ошибка сохранения договора");
     }
 }
        // Приватные методы
        private Contract SetContract(ContractDTO dto)
        {
            var contract = _context.Contracts
                           .FirstOrDefault(c => c.ContractNumber == dto.ContractNumber && c.Year == dto.Year)
                           ?? new Contract
            {
                Year           = dto.Year,
                ContractNumber = dto.ContractNumber
            };

            return(contract);
        }