public async Task <ActionResult> Profession([FromBody] WorkerProfessionDto professions) { var worker = await _context.Workers.FirstOrDefaultAsync(s => s.Id == professions.WorkerId); if (worker == null) { return(BadRequest("Melumat duzgun deyil")); } foreach (var item in professions.WorkerProfessions) { if (item.Id == 0) { WorkerProfessions newProfession = new WorkerProfessions() { Startdate = item.StartDate, Profession = await _context.Professions.FirstOrDefaultAsync(s => s.Id == item.ProfessionId), Status = true, Workers = worker }; await _context.WorkerProfessions.AddAsync(newProfession); } else { if (item.Status == true) { var editedprofession = await _context.WorkerProfessions.FirstOrDefaultAsync(s => s.Id == item.Id); if (editedprofession == null) { return(BadRequest("Xeta bas verdi.")); } editedprofession.Startdate = item.StartDate; editedprofession.Profession = await _context.Professions.FirstOrDefaultAsync(s => s.Id == item.Id); _context.Entry(editedprofession).State = EntityState.Modified; } else { var deletedprofession = await _context.WorkerProfessions.FirstOrDefaultAsync(s => s.Id == item.Id); if (deletedprofession == null) { return(BadRequest("Xeta bas verdi.")); } deletedprofession.Status = false; deletedprofession.EndDate = item.EndDate; deletedprofession.EndReason = item.EndReason; _context.Entry(deletedprofession).State = EntityState.Modified; } } } await _context.SaveChangesAsync(); return(Ok()); }
public async Task <ActionResult> CreateWorker([FromBody] WorkerForAddDtos worker) { int id = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (!CheckHumanCount(id)) { return(BadRequest("Paketinizin istifadə limitini aşmisiz")); } var logineduser = await _auth.VerifyUser(id); Workers new_user = new Workers() { Name = worker.Name, Status = true, Birthday = worker.Birthday, Email = worker.Email, Tel = worker.Phone, Adress = worker.Adress, Gender = worker.Gender, WorkStartDate = worker.WorkStartDate, WorkStatus = worker.WorkStatus, Company = logineduser.Company, Fin = worker.Fin, SerialNumber = worker.SerialNumber, SSN = worker.SSN }; try { await _context.Workers.AddAsync(new_user); await _context.SaveChangesAsync(); } catch (Exception) { return(BadRequest()); } WorkerSalary workerSalary = new WorkerSalary() { Workers = new_user, GrossSalary = worker.GrossSalary, NetSalary = worker.NetSalary, Status = true, StartSalary = worker.WorkStartDate }; await _context.WorkerSalaries.AddAsync(workerSalary); await _context.SaveChangesAsync(); foreach (var item in worker.ProfessionId) { WorkerProfessions WorkerProfession = new WorkerProfessions(); WorkerProfession.Workers = new_user; WorkerProfession.Profession = await _context.Professions.Where(s => s.Id == item).FirstOrDefaultAsync(); WorkerProfession.Startdate = worker.WorkStartDate; WorkerProfession.Status = true; await _context.WorkerProfessions.AddAsync(WorkerProfession); await _context.SaveChangesAsync(); } int HumanCount = await _context.Workers.Where(s => s.Company == logineduser.Company && s.Status == true).CountAsync(); var Company = await _context.Companies.FirstOrDefaultAsync(s => s.Id == logineduser.Company.Id); Company.HumanCount = HumanCount; _context.Entry(Company).State = EntityState.Modified; return(StatusCode(201)); }