public IHttpActionResult EditProcessAction(string token, int id, int UserId, JDE_ProcessActions item) { Logger.Info("Start EditProcessAction. Id={id}, UserId={UserId}", id, UserId); if (token != null && token.Length > 0) { var tenants = db.JDE_Tenants.Where(t => t.TenantToken == token.Trim()); if (tenants.Any()) { var items = db.JDE_ProcessActions.AsNoTracking().Where(u => u.TenantId == tenants.FirstOrDefault().TenantId&& u.ProcessActionId == id); if (items.Any()) { string newItem = ""; try { item.CreatedOn = items.FirstOrDefault().CreatedOn; //switch back to original createdOn date item.LmOn = DateTime.Now; item.LmBy = UserId; item.TenantId = items.FirstOrDefault().TenantId; string descr = "Edycja przypisania czynności do zgłoszenia"; newItem = new JavaScriptSerializer().Serialize(item); JDE_Logs Log = new JDE_Logs { UserId = UserId, Description = descr, TenantId = tenants.FirstOrDefault().TenantId, Timestamp = DateTime.Now, OldValue = new JavaScriptSerializer().Serialize(items.FirstOrDefault()), NewValue = newItem }; db.JDE_Logs.Add(Log); db.Entry(item).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException DbEx) { Logger.Error("Błąd DbUpdateConcurrencyException w EditProcessAction. Id={id}, UserId={UserId}. Szczegóły: {Message}, nowa wartość: {newItem}", id, UserId, DbEx.ToString(), newItem); if (!JDE_ProcessActionExists(id)) { return(NotFound()); } else { return(InternalServerError()); } } } catch (Exception ex) { Logger.Error("Błąd w EditProcessAction. Id={id}, UserId={UserId}. Szczegóły: {Message}, nowa wartość: {newItem}", id, UserId, ex.ToString(), newItem); return(InternalServerError()); } } else { Logger.Info("ProcessAction Id={id} nie zostało znalezione..", id); } } } Logger.Info("Koniec EditProcessAction. Id={id}, UserId={UserId}", id, UserId); return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult CreateProcessAction(string token, JDE_ProcessActions item, int UserId) { Logger.Info("Start CreateProcessAction. UserId={UserId}", UserId); if (token != null && token.Length > 0) { var tenants = db.JDE_Tenants.Where(t => t.TenantToken == token.Trim()); if (tenants.Any()) { try { item.TenantId = tenants.FirstOrDefault().TenantId; item.CreatedOn = DateTime.Now; db.JDE_ProcessActions.Add(item); db.SaveChanges(); JDE_Logs Log = new JDE_Logs { UserId = UserId, Description = "Utworzenie przypisania czynności do zgłoszenia", TenantId = tenants.FirstOrDefault().TenantId, Timestamp = DateTime.Now, NewValue = new JavaScriptSerializer().Serialize(item) }; db.JDE_Logs.Add(Log); db.SaveChanges(); Logger.Info("Koniec CreateProcessAction. UserId={UserId}", UserId); return(Ok(item)); }catch (Exception ex) { Logger.Error("Błąd w CreateProcessAction. UserId={UserId}. Szczegóły: {Message}", UserId, ex.ToString()); return(InternalServerError()); } } else { return(NotFound()); } } else { return(NotFound()); } }