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()); }
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()); } }
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)); }