Пример #1
0
        //CRUD operation
        public bool Add(RequestForCooperation newProposalForCooperation)
        {
            if (newProposalForCooperation == null)
            {
                return(false);
            }

            var company = companyService
                          .GetById(newProposalForCooperation.Company.Id);


            var employee = employeeService
                           .GetById(newProposalForCooperation.Employee.Id);

            if (company == null || employee == null)
            {
                return(false);
            }

            SetProposalsObjects(ref newProposalForCooperation, company, employee);

            try
            {
                _context.Add(newProposalForCooperation);
                _context.SaveChanges();
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }
Пример #2
0
        public bool Update(int id, RequestForCooperation proposalForCooperation)
        {
            var proposal = GetById(id);

            if (proposal == null)
            {
                return(false);
            }

            if (!CheckObjectsForUpdate(proposalForCooperation))
            {
                return(false);
            }

            SetProposalsAttributesUpdate(ref proposal, proposalForCooperation);

            proposal.Company.Contacts = contactService.GetAll(proposal.Company.Id);


            try
            {
                //_context.Entry(proposal).State = EntityState.Detached;
                _context.Update(proposal);
                _context.SaveChanges();
            }catch (Exception e)
            {
                return(false);
            }

            return(true);
        }
Пример #3
0
 private void SetProposalsAttributesUpdate(ref RequestForCooperation proposal, RequestForCooperation proposalForCooperation)
 {
     SetProposalsObjectsUpdate(ref proposal, proposalForCooperation.Company, proposalForCooperation.Employee);
     proposal.Title = proposalForCooperation.Title;
     proposal.DescriptionOfProposal = proposalForCooperation.DescriptionOfProposal;
     proposal.Date = DateTime.Now;
 }
Пример #4
0
 public async Task <ActionResult <RequestForCooperation> > AddNewCooperation([FromBody] RequestForCooperation newProposal)
 {
     if (_cooperationService.Add(newProposal))
     {
         var insertedRequest = _cooperationService.GetLastInsterted();
         if (insertedRequest == null)
         {
             return(BadRequest());
         }
         return(Created("Uspesno kreiran objekat", insertedRequest));
     }
     return(Forbid("Nije moguce kreirati novi predlog za saradnju."));
 }
Пример #5
0
        private bool CheckObjectsForUpdate(RequestForCooperation proposalForCooperation)
        {
            var company = companyService
                          .GetById(proposalForCooperation.Company.Id);

            _context.Entry(company).State = EntityState.Detached;


            var employee = employeeService
                           .GetById(proposalForCooperation.Employee.Id);

            _context.Entry(employee).State = EntityState.Detached;

            if (company == null || employee == null)
            {
                return(false);
            }

            return(true);
        }
Пример #6
0
        // heleper methods
        private void SetProposalsObjectsUpdate(ref RequestForCooperation newProposalForCooperation, Company company, Employee employee)
        {
            Company  tempCompany  = new Company();
            Employee tempEmployee = new Employee();

            if (string.IsNullOrEmpty(company.Name))
            {
                tempCompany = companyService.GetById(company.Id);
                _context.Entry(tempCompany).State = EntityState.Detached;
            }
            else
            {
                tempCompany = company;
            }
            if (string.IsNullOrEmpty(employee.FirstName))
            {
                tempEmployee = employeeService.GetById(employee.Id);
                _context.Entry(tempEmployee).State = EntityState.Detached;
            }
            else
            {
                tempEmployee = employee;
            }

            foreach (Location location in newProposalForCooperation.Company.Locations)
            {
                foreach (Location citiesLocations in tempCompany.Locations)
                {
                    if (citiesLocations.Id == location.Id)
                    {
                        citiesLocations.City = location.City;
                    }
                }
            }
            // _context.Entry(newProposalForCooperation.Company.Locations).State = EntityState.Detached;
            newProposalForCooperation.Company  = tempCompany;
            newProposalForCooperation.Employee = tempEmployee;
            newProposalForCooperation.Date     = DateTime.Now;
        }
Пример #7
0
 private void SetProposalsObjects(ref RequestForCooperation proposal, Company company, Employee employee)
 {
     proposal.Company  = company;
     proposal.Employee = employee;
     proposal.Date     = DateTime.Now;
 }
Пример #8
0
 public async Task <ActionResult <RequestForCooperation> > UpdateProposal(int id, [FromBody] RequestForCooperation proposalForUpdate)
 {
     if (_cooperationService.Update(id, proposalForUpdate))
     {
         var updatedRequest = _cooperationService.GetById(id);
         if (updatedRequest == null)
         {
             return(BadRequest());
         }
         return(Ok(updatedRequest));
     }
     return(Forbid("Predlog nije moguce izmeniti"));
 }