public MessagesModel SaveMessage(MessagesModel mm)
        {
            using (MessagesContainer cr = new MessagesContainer())
            {
                message msg = null;
                if (mm.UID > 0)
                {
                    msg = cr.messages.Where(m => m.UID == mm.UID).FirstOrDefault();
                }
                if (msg == null)
                {
                    msg = new message();
                    cr.Entry(msg).State = System.Data.EntityState.Added;
                }

                msg.MessageTitle       = mm.MessageTitle;
                msg.DateCreated        = mm.DateCreated;
                msg.MessageDescription = mm.MessageDescription;
                msg.MessageAuthor      = mm.MessageAuthor;
                msg.MessageHardCopy    = mm.MessageHardCopy;
                msg.Series             = mm.Series;
                msg.VideoFile          = mm.VideoFile;
                msg.mp3File            = mm.mp3File;
                try
                {
                    cr.SaveChanges();
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateException DbEx)
                {
                    mm.errorMessage = DbEx.ToString();
                }
                finally
                {
                    mm.UID = msg.UID;
                    ((IObjectContextAdapter)cr).ObjectContext.Detach(msg);
                }
            }
            return(mm);
        }
Example #2
0
 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));
 }