Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }