public async Task <long?> EnterpriseUpdate(long id, EnterpriseUpdateModel model) { try { var enterprise = new Enterprise(); using (var ctx = new dbPumox()) { using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { enterprise = await ctx.Enterprises.Where(x => x.Id == id).FirstOrDefaultAsync(); if (enterprise == null) { return(null); } enterprise.Name = model.Name; enterprise.EstablishmentYear = model.EstablishmentYear; CreateOrUpdateEmployee(model, enterprise); await ctx.SaveChangesAsync(); scope.Complete(); } } return(enterprise.Id); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } }
public async Task <string> UpdateEnterprise(EnterpriseUpdateModel model) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:8080/companies/" + model.Id); request.Method = "PUT"; request.ContentType = "application/json"; using (StreamWriter writer = new StreamWriter(request.GetRequestStream())) { await writer.WriteAsync(JsonConvert.SerializeObject(model)); writer.Close(); } var response = (HttpWebResponse)request.GetResponse(); using (var streamReader = new StreamReader(response.GetResponseStream())) { var responseText = streamReader.ReadToEnd(); return(responseText); } } catch (Exception ex) { Console.WriteLine(ex.Message); throw ex; } }
public static void PutEnterprise(EnterpriseUpdateModel model) { var enterpriseRequest = new EnterpriseRequestHandler(); var resp = enterpriseRequest.UpdateEnterprise(model).Result; Console.WriteLine(resp); }
static void Main(string[] args) { try { var model = new EnterpriseCreateModel(); model.Name = "SomeName"; model.EstablishmentYear = 1990; model.Employees = new List <EmployeeCreateModel>() { new EmployeeCreateModel() { Firstname = "Mike", Lastname = "Michaels", DateOfBirth = DateTime.ParseExact("1980-11-11", "yyyy-mm-dd", CultureInfo.InvariantCulture), JobTitle = "Administrator", }, new EmployeeCreateModel() { Firstname = "Jake", Lastname = "Ramirez", DateOfBirth = DateTime.ParseExact("1990-11-17", "yyyy-mm-dd", CultureInfo.InvariantCulture), JobTitle = "Administrator", }, new EmployeeCreateModel() { Firstname = "Suzy", Lastname = "Ramirez", DateOfBirth = DateTime.ParseExact("1992-06-27", "yyyy-mm-dd", CultureInfo.InvariantCulture), JobTitle = "Developer", }, }; Demo.PostEnterprise(model); Demo.PrintAllJsonEnterprise(); var putModel = new EnterpriseUpdateModel(); putModel.Id = 19; putModel.Name = "SomeNamex"; putModel.Employees = new List <EmployeeUpdateModel>(); putModel.EstablishmentYear = 1999; Demo.PutEnterprise(putModel); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadKey(); }
private void CreateOrUpdateEmployee(EnterpriseUpdateModel model, Enterprise enterprise) { if (model.Employees != null) { foreach (var modelItem in model.Employees) { Employee employee = null; if ((employee = enterprise.Employees?.FirstOrDefault(x => x.Id == modelItem.Id)) != null) { SetEmployeeValues(employee, modelItem); } else { employee = new Employee(); SetEmployeeValues(employee, modelItem); enterprise.Employees.Add(employee); } } } }
public IHttpActionResult EnterpriseUpdate(long id, [FromBody] EnterpriseUpdateModel model) { try { if (!ModelState.IsValid) { return(BadRequest("The model is not valid")); } var service = new PumoxService(); var enterpriseId = service.EnterpriseUpdate(id, model).Result; if (enterpriseId == null) { return(NotFound()); } return(ResponseMessage(Request.CreateResponse(HttpStatusCode.OK, enterpriseId))); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message))); } }