public async Task <IActionResult> PutEmployee(int id, Employee employee)
        {
            var    identity = HttpContext.User.Identity as ClaimsIdentity;
            string sid;

            if (identity != null)
            {
                sid = identity.FindFirst("id").Value;
            }
            else
            {
                return(ValidationProblem());
            }

            Employee darbinyks = _contextDb.Employees.Where(x => x.ID == id).FirstOrDefault();

            if (int.Parse(sid) == darbinyks.fk_User ||
                identity.FindFirst(ClaimTypes.Role).Value == "Administrator")    // gali redaguoti tik administratorius ir pats darbuotojas
            {
                if (darbinyks != null)
                {
                    _contextDb.Entry(darbinyks).State = EntityState.Detached;
                }
                employee.ID      = id;
                employee.fk_User = darbinyks.fk_User;
                _contextDb.Entry(employee).State = EntityState.Modified;
                await _contextDb.SaveChangesAsync();

                return(Ok(employee));
            }

            return(NoContent());
        }
Exemple #2
0
        public async Task <IActionResult> PutClient(int id, Client client)
        {
            var    identity = HttpContext.User.Identity as ClaimsIdentity;
            string sid;

            if (identity != null)
            {
                sid = identity.FindFirst("id").Value;
            }
            else
            {
                return(ValidationProblem());
            }
            Client klientukas = await _contextDb.Clients.Where(j => j.ID == id).FirstOrDefaultAsync();

            if (klientukas == null)
            {
                return(BadRequest("Couldnt find matching ID of client"));
            }
            if (identity.FindFirst(ClaimTypes.Role).Value == "Administrator" ||
                int.Parse(sid) == klientukas.fk_User)   // gali redaguoti tik administratorius ir pats klientas
            {
                if (klientukas != null)
                {
                    _contextDb.Entry(klientukas).State = EntityState.Detached;
                }

                client.ID      = id;
                client.fk_User = klientukas.fk_User;

                _contextDb.Entry(client).State = EntityState.Modified;
                await _contextDb.SaveChangesAsync();

                return(Ok(client));
            }
            else
            {
                return(ValidationProblem());
            }
        }
Exemple #3
0
        public async Task <IActionResult> PutOrder(int id, Order order) //be fk_client ir ID
        {
            var    identity = HttpContext.User.Identity as ClaimsIdentity;
            string sid;

            if (identity != null)
            {
                sid = identity.FindFirst("id").Value;
            }
            else
            {
                return(ValidationProblem());
            }

            Client clientFromClaim = await _contextDb.Clients.Where(j => j.fk_User == int.Parse(sid)).FirstOrDefaultAsync();

            if (clientFromClaim == null)//užtikrina, kad klientas nėra null
            {
                return(ValidationProblem());
            }
            else
            {
                order.fk_Client = clientFromClaim.ID;
            }

            Employee employee = await _contextDb.Employees.Where(j => j.ID == order.fk_Employee).FirstOrDefaultAsync();

            if (employee == null)//patikrina ar darbuotojas gali buti priskirtas uzsakymui
            {
                return(ValidationProblem());
            }
            order.ID = id;

            _contextDb.Entry(order).State = EntityState.Modified;
            await _contextDb.SaveChangesAsync();

            return(Ok(order));
        }