public HttpResponseMessage AddAsEmployee(Guid ID, EmployeeDTO employeeDTO) { HttpResponseMessage message = new HttpResponseMessage(); Guid SelectedBusinessID = employeeDTO.BusinessId; employeeDTO = new EmployeeDTO(); employeeDTO = db.UserProfiles.Where(a => a.Id == ID).Select(usr => new EmployeeDTO { BusinessId = SelectedBusinessID, FirstName = usr.FirstName, LastName = usr.LastName, Email = usr.Email, DateOfBirth = usr.DateofBirth, MobilePhone = usr.MobilePhone, Type = EmployeeTypeDTO.External, IsAdmin = false, BusinessLocationId = db.Employees.Where(a => a.UserProfile.Email == HttpContext.Current.User.Identity.Name && a.BusinessLocation.Business.Id == SelectedBusinessID).FirstOrDefault().BusinessLocation.Id, IsActive = true, }).FirstOrDefault(); using (EmployeeAPIController employeeApi = new EmployeeAPIController()) { var employee = employeeApi.CreateNewEmployee(employeeDTO); if (employee != null) { message = Request.CreateResponse(HttpStatusCode.OK); } } return(message); }
// POST: api/FileImportAPI public LogFileDTO PostFile(FileImportDTO filedto) { if (ModelState.IsValid) { if (ClaimsAuthorization.CheckAccess("Put", "BusinessLocationId", filedto.BusinessLocationId.ToString())) { MemoryStream stream = new MemoryStream(filedto.FileUpload); if (filedto.DataType == UploadTypesDTO.Employees) { Tuple <List <EmployeeDTO>, LogFileDTO> result = ValidateCSV(stream, filedto.BusinessLocationId); if (result.Item2.ErrorLines == 0) { foreach (EmployeeDTO employeeDTO in result.Item1) { employeeDTO.BusinessId = filedto.BusinessId; employeeDTO.BusinessLocationId = filedto.BusinessLocationId; using (var employeeAPIController = new EmployeeAPIController()) { employeeAPIController.CreateNewEmployee(employeeDTO, true); } result.Item2.LoadedSuccesfully++; } } return(result.Item2); } else if (filedto.DataType == UploadTypesDTO.Roles) { throw new NotImplementedException(); } else { return(new LogFileDTO { Status = "Failed", LinesRead = 0 }); } } else { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "You do not have appropriate permission")); } } else { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest)); } }