コード例 #1
0
        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());
        }
コード例 #2
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));
        }