public IHttpActionResult PostContractConsultant(ContractConsultant contractConsultant)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.ContractConsultants.Add(contractConsultant);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (ContractConsultantExists(contractConsultant.INITIALS))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = contractConsultant.INITIALS }, contractConsultant));
        }
        public IHttpActionResult PutContractConsultant(string id, ContractConsultant contractConsultant)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != contractConsultant.INITIALS)
            {
                return(BadRequest());
            }

            db.Entry(contractConsultant).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ContractConsultantExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #3
0
        public HttpResponseMessage UpdateTBAinformationInDB(ContractConsultant cc, IEnumerable <ContractConsultant> CslTBAassignment)
        {
            var currentTBA             = cc.LocationsAssigned.FirstOrDefault();
            HttpResponseMessage result = null;

            //  17/08/2017 : added the case to unassign a TBA : cc.INITIALS == null


            // new way: post then if failed put
            //      5 cases:
            //          new csl , new TBA
            //          new csl , exist TBA
            //          exist csl , new TBA
            //          exist csl , exist TBA
            //          csl null , exist TBA (unassignment)



            // create consultant if not in DB, ignore TBA creation or update or unassigned
            if (cc.INITIALS != null)
            {
                cc.LocationsAssigned = null;
                APIuse.PostToWebAPI(compDBapi, "ContractConsultants", cc);
            }

            // create or update TBA assignment
            result = APIuse.PostToWebAPI(compDBapi, "TBALocations", currentTBA);
            if (!result.IsSuccessStatusCode)
            {
                result = APIuse.PutToWebAPI(compDBapi, "TBALocations", currentTBA, currentTBA.CODE);
            }


            return(result);
        }
예제 #4
0
        public void ApplyTBAassignmentChange(ContractConsultant cc)
        {
            HttpResponseMessage result = compDbRepo.UpdateTBAinformationInDB(cc, CslTBAassignment);

            if (result.IsSuccessStatusCode)
            {
                CslTBAassignment = compDbRepo.GetConsultantsTBAsLocations();
            }
        }
        public IHttpActionResult GetContractConsultant(string id)
        {
            ContractConsultant contractConsultant = db.ContractConsultants.Find(id);

            if (contractConsultant == null)
            {
                return(NotFound());
            }

            return(Ok(contractConsultant));
        }
        public IHttpActionResult DeleteContractConsultant(string id)
        {
            ContractConsultant contractConsultant = db.ContractConsultants.Find(id);

            if (contractConsultant == null)
            {
                return(NotFound());
            }

            db.ContractConsultants.Remove(contractConsultant);
            db.SaveChanges();

            return(Ok(contractConsultant));
        }
예제 #7
0
        public ActionResult PostTBAsInformation(ContractConsultant cc)
        {
            perfRepo.ApplyTBAassignmentChange(cc);

            return(null);
        }