public string deactivateNotification(SystemMaintenanceNotification item)
 {
     using (var db = new BaseDbContext())
     {
         db.Entry(item).State = EntityState.Modified;
         item.isActive = false;
         db.SaveChanges();
     }
     AuditLogDbContext.getInstance().createAuditLogSystemMaintenanceNotificationAction(item, AuditLogDbContext.ACTION_DEACTIVATE);
     return null;
 }
        public string editNotification(SystemMaintenanceNotification item)
        {
            List<string> modified_fields = new List<string>();

            using (var db = new BaseDbContext())
            {
                var local = db.systemMaintenanceNotificationDb
                            .Local
                            .FirstOrDefault(f => f.NotificationID == item.NotificationID);

                if (local != null)
                {
                    if (local.name_en != item.name_en) { modified_fields.Add("name_en"); }
                    if (local.name_zh != item.name_zh) { modified_fields.Add("name_zh"); }
                    if (local.name_cn != item.name_cn) { modified_fields.Add("name_cn"); }
                    if (local.desc_en != item.desc_en) { modified_fields.Add("desc_en"); }
                    if (local.desc_zh != item.desc_zh) { modified_fields.Add("desc_zh"); }
                    if (local.desc_cn != item.desc_cn) { modified_fields.Add("desc_cn"); }
                    if (local.startDate != item.startDate) { modified_fields.Add("startDate"); } 
                    if (local.endDate != item.endDate) { modified_fields.Add("endDate"); }
                    if (local.isActive != item.isActive) { modified_fields.Add("isActive"); }
                  //  if (local.level != item.level) { modified_fields.Add("level"); }

                    db.Entry(local).State = EntityState.Detached;
                }

                var startDate = item.startDate;
                if (startDate == null)
                {
                    return "Start Date must be set for creating scheduled notification.";
                }

                var endDate = item.endDate;
                if (endDate == null)
                {
                    return "End Date must be set for creating scheduled notification.";
                }

                db.Entry(item).State = EntityState.Modified;
                db.SaveChanges();
            }
            AuditLogDbContext.getInstance().createAuditLogSystemMaintenanceNotificationAction(item, AuditLogDbContext.ACTION_EDIT, modified_fields);
            return null;
        }
 public ActionResult Edit(SystemMaintenanceNotification item)
 {
     if (ModelState.IsValid)
     {
         var error = SystemMaintenanceNotificationDbContext.getInstance().editNotification(item);
         if (error != null)
         {
             ModelState.AddModelError("", error);
             return(View(item));
         }
         else
         {
             ModelState.Clear();
             return(View(item));
         }
     }
     else
     {
         return(View(item));
     }
 }
Example #4
0
        public string createAuditLogSystemMaintenanceNotificationAction(SystemMaintenanceNotification systemMaintenanceNotification, string action, List <string> modified_fields = null)
        {
            var account = SessionPersister.account;

            if (account == null)
            {
                return(null);
            }

            AuditLog item = new AuditLog();

            item.accountID = account.AccountID;
            item.account   = account.Username;
            item.systemMaintenanceNotificationID = systemMaintenanceNotification.NotificationID;
            item.systemMaintenanceNotification   = systemMaintenanceNotification.name_en;
            item.action = action;

            manipulateRemarks(item, modified_fields);

            return(createAuditLog(item));
        }
 public ActionResult CreateScheduled(SystemMaintenanceNotification item)
 {
     if (ModelState.IsValid)
     {
         var error = SystemMaintenanceNotificationDbContext.getInstance().createScheduledNotification(item);
         if (error != null)
         {
             ModelState.AddModelError("", error);
             return(View());
         }
         else
         {
             ModelState.Clear();
             TempData["Message"] = "New notification successfully scheduled.";
             return(RedirectToAction("Index"));
         }
     }
     else
     {
         return(View());
     }
 }
        // edit

        public string createScheduledNotification(SystemMaintenanceNotification item)
        {
            using (var db = new BaseDbContext())
            {
                var startDate = item.startDate;
                if (startDate == null)
                {
                    return "Start Date must be set for creating scheduled notification.";
                }

                var endDate = item.endDate;
                if (endDate == null)
                {
                    return "End Date must be set for creating scheduled notification.";
                }

                db.systemMaintenanceNotificationDb.Add(item);
                db.SaveChanges();
            }
            AuditLogDbContext.getInstance().createAuditLogSystemMaintenanceNotificationAction(item, AuditLogDbContext.ACTION_CREATE);
            return null;
        }