public IHttpActionResult CompanyCreate([FromBody] EnterpriseCreateModel model) { long?id = 0; try { if (!ModelState.IsValid) { return(BadRequest("The model is not valid")); } var service = new PumoxService(); id = service.CompanyCreate(model).Result; if (id == null) { return(InternalServerError()); } return(Json(id)); } catch (HttpException ex) { System.Diagnostics.Debug.WriteLine(ex.Message); return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message))); } }
public async Task <long> CreateCompany(EnterpriseCreateModel model) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:8080/company/create"); request.Method = "POST"; 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(JsonConvert.DeserializeObject <long>(responseText)); } } catch (Exception ex) { Console.WriteLine(ex.Message); throw ex; } }
public static void PostEnterprise(EnterpriseCreateModel model) { var request = new EnterpriseRequestHandler(); var enterprise = new EnterpriseCreateModel(); enterprise.Name = model.Name; enterprise.EstablishmentYear = model.EstablishmentYear; enterprise.Employees = new List <EmployeeCreateModel>(); if (model.Employees != null) { var list = model.Employees.ToList(); for (int i = 0; i < model.Employees.Count; ++i) { var employee = new EmployeeCreateModel(); employee.Firstname = list[i].Firstname; employee.Lastname = list[i].Lastname; employee.DateOfBirth = list[i].DateOfBirth; employee.JobTitle = list[i].JobTitle; enterprise.Employees.Add(employee); } } var res = request.CreateCompany(enterprise).Result; Console.WriteLine(res); }
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(); }
public async Task <long?> CompanyCreate(EnterpriseCreateModel model) { long id = 0; try { using (var ctx = new dbPumox()) { using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { Enterprise enterprise = new Enterprise() { Name = model.Name, EstablishmentYear = model.EstablishmentYear, Employees = new List <Employee>() }; if (model.Employees != null) { foreach (var employee in model.Employees) { enterprise.Employees.Add(new Employee { FirstName = employee.Firstname, LastName = employee.Lastname, DateOfBirth = employee.DateOfBirth, JobTitle = employee.JobTitle, }); } } ctx.Enterprises.Add(enterprise); await ctx.SaveChangesAsync(); scope.Complete(); id = enterprise.Id; } } return(id); } catch (Exception ex) { Console.WriteLine(ex.Message); return(null); } }