public string UpdatePrintoutLayout(string PrintoutName, string NewLayout, string UserID)
 {
     try
     {
         var message          = "";
         var context          = new EMSDataModel();
         var printout         = new USER_PRINTOUT_LAYOUT();
         var printoutvariable = context.PRINTOUT_VARIABLE.Where(w => w.PRINTOUT_LAYOUT.NAME == PrintoutName);
         if (printoutvariable.Any())
         {
             printout = context.USER_PRINTOUT_LAYOUT.Where(w => w.PRINTOUT_LAYOUT.NAME == PrintoutName && w.USER_ID == UserID).FirstOrDefault();
             var isVariableOk = true;
             var layout       = printout.LAYOUT;
             foreach (var variable in printoutvariable)
             {
                 if (!NewLayout.Contains(variable.NAME))
                 {
                     isVariableOk = false;
                 }
             }
             isVariableOk = true;
             if (isVariableOk)
             {
                 printout.LAYOUT        = NewLayout;
                 printout.MODIFIED_DATE = DateTime.Now;
                 context.SaveChanges();
             }
             else
             {
                 message = "The variables are incomplete. Please make sure the variables are not deleted.";
             }
         }
         else
         {
             message = "Cannot find variables in database.";
         }
         return(message);
     }
     catch (Exception ex)
     {
         throw this.HandleException("Exception occured on Update Printout Layout. See Inner Exception property to see details", ex);
     }
 }
 public USER_PRINTOUT_LAYOUT GeneratePrintout(string PrintoutName, Dictionary <string, string> Parameters, string UserID)
 {
     try
     {
         var context           = new EMSDataModel();
         var PrintoutLayout    = new USER_PRINTOUT_LAYOUT();
         var printoutvariables = context.PRINTOUT_VARIABLE.Where(w => w.PRINTOUT_LAYOUT.NAME == PrintoutName);
         PrintoutLayout = GetPrintoutLayout(PrintoutName, UserID).FirstOrDefault();
         var layout = PrintoutLayout.LAYOUT;
         foreach (var variable in printoutvariables)
         {
             layout = layout.Replace(String.Format("#{0}", variable.NAME), Parameters[variable.NAME]);
         }
         PrintoutLayout.LAYOUT = layout;
         return(PrintoutLayout);
     }
     catch (Exception ex)
     {
         throw this.HandleException("Exception occured on Generate Printout. See Inner Exception property to see details", ex);
     }
 }
 public USER_PRINTOUT_LAYOUT InsertUserPrintOutLayout(string PrintoutName, string UserID)
 {
     try
     {
         var context      = new EMSDataModel();
         var UserPrintout = new USER_PRINTOUT_LAYOUT();
         var Printouts    = context.PRINTOUT_LAYOUT.Where(w => w.NAME == PrintoutName);
         if (Printouts.Any())
         {
             var Printout = Printouts.FirstOrDefault();
             UserPrintout.PRINTOUT_LAYOUT_ID = Printout.PRINTOUT_LAYOUT_ID;
             UserPrintout.USER_ID            = UserID;
             UserPrintout.LAYOUT             = Printout.LAYOUT;
             UserPrintout.MODIFIED_DATE      = DateTime.Now;
             context.USER_PRINTOUT_LAYOUT.Add(UserPrintout);
             context.SaveChanges();
         }
         return(UserPrintout);
     }
     catch (Exception ex)
     {
         throw this.HandleException("Exception occured on Insert Printout Layout. See Inner Exception property to see details", ex);
     }
 }