public async Task <SingleResponse <PhoneMail> > UpdatePhoneMailAsync(PhoneMail phoneMail, Type type) { var response = new SingleResponse <PhoneMail>(); var EntityTypeId = DbContext.GetEntityTypeIdByEntityTypeName(type).Result; phoneMail.EntityTypeId = EntityTypeId; var entity = GetPhoneMailAsync((int)phoneMail.EntityTypeId, (int)phoneMail.EntityId); if (entity.Result.Model != null) { entity.Result.Model.Email = phoneMail.Email; entity.Result.Model.PhoneNumber = phoneMail.PhoneNumber; entity.Result.Model.PhoneTypeId = phoneMail.PhoneTypeId; DbContext.Update(entity.Result.Model, UserInfo); await DbContext.SaveChangesAsync(); } response.SetMessageSucssesPost(nameof(CreatePhoneMailAsync), phoneMail.EntityId ?? 0); response.Model = phoneMail; return(response); }
public static EmployeeGuid ToEntity(this Employee request, PhoneMail phoneMail = null) => new EmployeeGuid { Guid = request.Guid, PhonNumber = phoneMail != null ? phoneMail.PhoneNumber:"0", Mail = phoneMail != null ? phoneMail.Email:"0", EmployeeId = request.EmployeeId, FirstName = request.FirstName, LastName = request.LastName };
public async Task <SingleResponse <PhoneMail> > CreatePhoneMailAsync(PhoneMail phoneMail, Type type) { var response = new SingleResponse <PhoneMail>(); var EntityTypeId = DbContext.GetEntityTypeIdByEntityTypeName(type).Result; phoneMail.EntityTypeId = EntityTypeId; DbContext.Add(phoneMail, UserInfo); await DbContext.SaveChangesAsync(); response.SetMessageSucssesPost(nameof(CreatePhoneMailAsync), phoneMail.EntityId ?? 0); response.Model = phoneMail; return(response); }
//public static OrganizationRequest ToEntity(this Organization request) // => new OrganizationRequest // { // OrganizationId = request.OrganizationId, // //UserInsert = request.UserInsert, // //DateInsert = request.DateInsert, // //UserUpdate = request.UserUpdate, // //DateUpdate = request.DateUpdate, // //State = request.State, // }; public static OrganizationRequest ToEntity(this Organization request, PhoneMail phone, Docs docs) => new OrganizationRequest { OrganizationId = request.OrganizationId, OrganizationName = request.OrganizationName, OrganizationExpertiseType = request.OrganizationExpertiseType, OrganizationExpertiseTypeId = request.OrganizationExpertiseTypeId, OrganizationParentId = request.OrganizationParentId, OrganizationNumber = request.OrganizationNumber, OrganizationType = request.OrganizationType, OrganizationTypeId = request.OrganizationTypeId, Comment = request.Comment, uri = docs == null ? null : docs.DocumentPath, State = request.State, phonMail = phone, };
public static EmployeeResponse ToEntity(this Employee request, PhoneMail phone, Docs docsFaceImage, Docs docsCopyPassport, Docs docsCopyofID, EquipmenAtSite equipmenAtSite, SiteEmployee siteEmployee, EmplyeePicture emplyeePicture = null, HealthDeclaration healthDeclaration = null) => new EmployeeResponse { EmployeeId = request.EmployeeId, IdentificationTypeId = request.IdentificationTypeId, IdentityNumber = request.IdentityNumber, PassportCountryId = request.PassportCountryId, FirstName = request.FirstName, LastName = request.LastName, FirstNameEn = request.FirstNameEn, LastNameEn = request.LastNameEn, OrganizationId = request.OrganizationId, BirthDate = request.BirthDate, GenderId = request.GenderId, Citizenship = request.Citizenship, UserInsert = request.UserInsert, DateInsert = request.DateInsert, UserUpdate = request.UserUpdate, DateUpdate = request.DateUpdate, State = request.State, Address = request.Address, Gender = request.Gender, IdentificationType = request.IdentificationType, Organization = request.Organization, PassportCountry = request.PassportCountry, EmployeeTraining = request.EmployeeTraining.Count > 0 ? new TrainingResponse((request.EmployeeTraining.Max(x => x.DateTo).Value.Date - DateTime.Now.Date).Days, "תדריך בטיחות") : new TrainingResponse(0, "תדריך בטיחות"), EmployeeAuthtorization = request.EmployeeAuthtorization.Count > 0 ? new TrainingResponse((request.EmployeeAuthtorization.Max(x => x.DateTo).Value.Date - DateTime.Now.Date).Days, "אישור עבודה בגובה"): new TrainingResponse(0, "אישור עבודה בגובה"), EmployeeWorkPermit = request.IdentificationTypeId == 1 || request.IdentificationTypeId == null ? new TrainingResponse(100, "היתר עבודה") :request.EmployeeWorkPermit.Count > 0 ? new TrainingResponse((request.EmployeeWorkPermit.Max(x => x.DateTo).Value.Date - DateTime.Now.Date).Days, "היתר עבודה"): new TrainingResponse(0, "היתר עבודה"), phonMail = phone, ProffesionType = request.EmployeeProffesionType.Count > 0? request.EmployeeProffesionType.First().ProffesionType:null, picturePath = docsFaceImage == null ? null: docsFaceImage.DocumentPath, IdentityFilePath = docsCopyofID == null ? null : docsCopyofID.DocumentPath, PassportFilePath = docsCopyPassport == null ? null : docsCopyPassport.DocumentPath, isEmployeeEntry = equipmenAtSite != null,//אם יש כניסה לאתר SiteId = siteEmployee == null ? null : siteEmployee.SiteId, EmployeePicture = emplyeePicture, HealthDeclaration = healthDeclaration, isHealthDeclaration = healthDeclaration == null ? false : true };
public async Task <IActionResult> PutEmployeeAsync(int Id, [FromBody] EmployeeRequest request) { // Get Employee by Id var entity = await EmployeeService.GetEmployeesAsync(request.EmployeeId ?? 0); //// ValIdate if entity exists if (entity == null) { return(NotFound()); } var employee = request.ToEntity(); // employee.UserInsert = UserInfo.UserId; employee.EmployeeId = Id; var employeeResponse = await EmployeeService.UpdateEmployeeAsync(employee); employeeResponse.Message = string.Format("Sucsses Put for Site Employee = {0} ", request.EmployeeId); if (request.PhoneNumber != null) { //update phone PhoneMail phoneMail = new PhoneMail(); phoneMail.PhoneNumber = request.PhoneNumber; phoneMail.Email = request.Email; phoneMail.EntityTypeId = (int)EntityTypeEnum.Employee; phoneMail.EntityId = employeeResponse.Model.EmployeeId; var res = await EmployeeService.UpdatePhoneMailAsync(phoneMail, typeof(Employee)); if (res.DIdError) { employeeResponse.SetMessageErrorUpdate(nameof(PhoneMail), res.Message); } } if (request.ProffesionTypeId != null) { EmployeeProffesionType proffesionType = new EmployeeProffesionType(); proffesionType.ProffesionTypeId = request.ProffesionTypeId; proffesionType.EmployeeId = employeeResponse.Model.EmployeeId; var res = await EmployeeService.UpdateProffesionTypeAsync(proffesionType, typeof(Employee)); if (res.DIdError) { employeeResponse.SetMessageErrorUpdate(nameof(ProffesionType), res.Message); } } //upload picture to blob Docs docs = new Docs(); docs.EntityTypeId = (int)EntityTypeEnum.Employee; docs.EntityId = Id; var fileName = employee.IdentityNumber + employee.FirstNameEn + "_" + employee.LastNameEn; var DOCSResponse = await EmployeeService.CreateDocsAsync(docs, typeof(Employee), fileName, request.picture, (int)DocumentType.FaceImage); employeeResponse.Model.picturePath = DOCSResponse.Model.DocumentPath; if (DOCSResponse.DIdError) { employeeResponse.SetMessageErrorUpdate("FaceImage", DOCSResponse.Message); } DOCSResponse = await EmployeeService.CreateDocsAsync(docs, typeof(Employee), fileName, request.IdentityFile, (int)DocumentType.CopyofID); employeeResponse.Model.IdentityFilePath = DOCSResponse.Model.DocumentPath; if (DOCSResponse.DIdError) { employeeResponse.SetMessageErrorUpdate("CopyofID", DOCSResponse.Message); } DOCSResponse = await EmployeeService.CreateDocsAsync(docs, typeof(Employee), fileName, request.PassportFile, (int)DocumentType.CopyPassport); employeeResponse.Model.PassportFilePath = DOCSResponse.Model.DocumentPath; if (DOCSResponse.DIdError) { employeeResponse.SetMessageErrorUpdate("CopyPassport", DOCSResponse.Message); } return(employeeResponse.ToHttpResponse()); }
public async Task <IActionResult> PostEmployeeAsync([FromBody] EmployeeRequest request) { if (!request.AgreeOnTheBylaws) { ModelState.AddModelError("AgreeOnTheBylaws", "Employee not Agree On The Bylaws"); } var existingEntity = await EmployeeService.GetEmployeeByIdentityNumberAsync(request.IdentityNumber); if (existingEntity.Model != null) { ModelState.AddModelError("EmployeeIdentityNumber", "תעודת הזהות קיימת במערכת"); } if (!ModelState.IsValid) { throw new Exception(); } var entity = request.ToEntity(); entity.UserInsert = UserInfo.UserId; var employeeResponse = await EmployeeService.CreateEmployeeAsync(entity); if (request.PhoneNumber != null) { PhoneMail phoneMail = new PhoneMail(); phoneMail.PhoneNumber = request.PhoneNumber; phoneMail.Email = request.Email; phoneMail.EntityTypeId = (int)EntityTypeEnum.Employee; phoneMail.EntityId = employeeResponse.Model.EmployeeId; var res = await EmployeeService.CreatePhoneMailAsync(phoneMail, typeof(Employee)); if (res.DIdError) { employeeResponse.SetMessageErrorCreate(nameof(PhoneMail), res.Message); } } if (request.ProffesionTypeId != null) { EmployeeProffesionType proffesionType = new EmployeeProffesionType(); proffesionType.ProffesionTypeId = request.ProffesionTypeId; proffesionType.EmployeeId = employeeResponse.Model.EmployeeId; var res = await EmployeeService.CreateEmployeeProffesionTypeAsync(proffesionType, typeof(Employee)); if (res.DIdError) { employeeResponse.SetMessageErrorCreate(nameof(ProffesionType), res.Message); } } Docs docs = new Docs(); docs.EntityTypeId = (int)EntityTypeEnum.Employee; docs.EntityId = employeeResponse.Model.EmployeeId; var fileName = employeeResponse.Model.IdentityNumber + "FaceImage"; //יש לבדוק אם אכן זה עובד //upload picture to blob var DOCSResponse = await EmployeeService.CreateDocsAsync(docs, typeof(Employee), fileName, request.picture, (int)DocumentType.FaceImage); employeeResponse.Model.picturePath = DOCSResponse.Model.DocumentPath; if (DOCSResponse.DIdError) { employeeResponse.SetMessageErrorUpdate("FaceImage", DOCSResponse.Message); } docs = new Docs(); docs.EntityTypeId = (int)EntityTypeEnum.Employee; docs.EntityId = employeeResponse.Model.EmployeeId; fileName = employeeResponse.Model.IdentityNumber + "CopyofID"; DOCSResponse = await EmployeeService.CreateDocsAsync(docs, typeof(Employee), fileName, request.IdentityFile, (int)DocumentType.CopyofID); employeeResponse.Model.IdentityFilePath = DOCSResponse.Model.DocumentPath; if (DOCSResponse.DIdError) { employeeResponse.SetMessageErrorUpdate("CopyofID", DOCSResponse.Message); } docs = new Docs(); docs.EntityTypeId = (int)EntityTypeEnum.Employee; docs.EntityId = employeeResponse.Model.EmployeeId; fileName = employeeResponse.Model.IdentityNumber + "CopyPassport"; DOCSResponse = await EmployeeService.CreateDocsAsync(docs, typeof(Employee), fileName, request.PassportFile, (int)DocumentType.CopyPassport); employeeResponse.Model.PassportFilePath = DOCSResponse.Model.DocumentPath; if (DOCSResponse.DIdError) { employeeResponse.SetMessageErrorUpdate("CopyPassport", DOCSResponse.Message); } SiteEmployee siteEmployee = new SiteEmployee(); siteEmployee.EmployeeId = employeeResponse.Model.EmployeeId; siteEmployee.SiteId = request.SiteId; var response = await EmployeeService.CreateSiteEmployeeAsync(siteEmployee); return(employeeResponse.ToHttpResponse()); }
public static async Task <PhoneMail> GetPhoneMailAsync(this MastpenBitachonDbContext dbContext, PhoneMail entity) => await dbContext.PhoneMail.FirstOrDefaultAsync(item => item.EntityTypeId == entity.EntityTypeId && item.EntityId == entity.EntityId);