public async Task <ActionResult> EditSalary([FromBody] WorkerSalaryDto salary) { var Worker = await _context.Workers.FirstOrDefaultAsync(s => s.Id == salary.WorkerId && s.Status == true); if (Worker == null) { return(BadRequest("Sistemde bele bir isci yoxdur")); } var oldSalary = await _context.WorkerSalaries.FirstOrDefaultAsync(s => s.Workers == Worker && s.Status == true && s.EndSalary == null); if (oldSalary == null) { oldSalary.EndSalary = salary.StartDate; oldSalary.Status = false; _context.Entry(oldSalary).State = EntityState.Modified; await _context.SaveChangesAsync(); } WorkerSalary newSalary = new WorkerSalary() { StartSalary = salary.StartDate, GrossSalary = salary.GrossSalary, NetSalary = salary.NetSalary, Status = true, Workers = Worker }; await _context.WorkerSalaries.AddAsync(newSalary); await _context.SaveChangesAsync(); return(StatusCode(201)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,IdCardNumber,RankId,Salary,MonthId,PaymentMethodId,ManagerSignature,EntryDate")] WorkerSalary workerSalary) { if (id != workerSalary.Id) { return(NotFound()); } if (ModelState.IsValid) { try { workerSalary.ManagerSignature = HttpContext.Session.GetString("username"); _context.Update(workerSalary); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WorkerSalaryExists(workerSalary.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["MonthId"] = new SelectList(_context.Month, "MonthId", "MonthName", workerSalary.MonthId); ViewData["PaymentMethodId"] = new SelectList(_context.PaymentMethod, "PaymentMethodId", "PaymentMethodName", workerSalary.PaymentMethodId); ViewData["RankId"] = new SelectList(_context.Rank, "RankId", "RankName", workerSalary.RankId); return(View(workerSalary)); }
public async Task <IActionResult> Create([Bind("Id,IdCardNumber,RankId,Salary,MonthId,PaymentMethodId,ManagerSignature,EntryDate")] WorkerSalary workerSalary) { if (ModelState.IsValid) { workerSalary.ManagerSignature = HttpContext.Session.GetString("username"); workerSalary.EntryDate = DateTime.Now; _context.Add(workerSalary); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["MonthId"] = new SelectList(_context.Month, "MonthId", "MonthName", workerSalary.MonthId); ViewData["PaymentMethodId"] = new SelectList(_context.PaymentMethod, "PaymentMethodId", "PaymentMethodName", workerSalary.PaymentMethodId); ViewData["RankId"] = new SelectList(_context.Rank, "RankId", "RankName", workerSalary.RankId); return(View(workerSalary)); }
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)); }