public async Task <string> CreateBodyText(ProcedureEditModel model)
        {
            var bodyStr = new StringBuilder();

            var oldProcedure = _procedureService.GetItem(model.Id);

            if (oldProcedure.ApprovalDate != model.ApprovalDate)
            {
                bodyStr.Append($"<strong>{Resources.Labels.ApprovalDate}</strong> changed to {model.ApprovalDate.ToString().Substring(0, 10)}<br>");
            }
            if (oldProcedure.EstimatedApprovalDate != model.ApprovalDate)
            {
                bodyStr.Append($"<strong>{Resources.Labels.EstimatedApprovalDate}</strong> changed to {model.EstimatedApprovalDate.ToString(CultureInfo.InvariantCulture).Substring(0, 10)}<br>");
            }
            if (oldProcedure.SubmissionDate != model.SubmissionDate)
            {
                bodyStr.Append($"<strong>{Resources.Labels.SubmissionDate}</strong> changed to {model.SubmissionDate.ToString(CultureInfo.InvariantCulture).Substring(0, 10)}<br>");
            }

            if (oldProcedure.Comments != model.Comments)
            {
                bodyStr.Append($"<strong>Comments</strong> changed to {model.Comments}<br>");
            }

            if (model.ProcedureDocuments != null && model.ProcedureDocuments.Count > 0)
            {
                foreach (var doc in model.ProcedureDocuments)
                {
                    var newDocument = new ProcedureDocument()
                    {
                        PathToDocument = doc.PathToDocument, ProcedureId = doc.ProcedureId, ProcedureDocsType = doc.ProcedureDocsType
                    };
                    var res  = oldProcedure.ProcedureDocuments.FirstOrDefault(a => a.PathToDocument == doc.PathToDocument && a.ProcedureId == doc.ProcedureId && a.ProcedureDocsType == doc.ProcedureDocsType);
                    var res2 = oldProcedure.ProcedureDocuments.Contains(newDocument);
                    if (res == null && !res2)
                    {
                        bodyStr.Append($"<strong>To {doc.ProcedureDocsType} added document:</strong> {doc.PathToDocument}<br>");
                    }
                }
            }
            return(bodyStr.ToString());
        }
 public void AddFileToProc(string localFileName, int procedureId, int procDocType)
 {
     try
     {
         var doc = new ProcedureDocument()
         {
             PathToDocument    = localFileName,
             ProcedureId       = procedureId,
             ProcedureDocsType = (ProcedureDocsType)procDocType
         };
         //await SendEmailAboutAddFileProcedure(procedureId, productId, (ProcedureDocsType)procDocType, localFileName);
         var procedure = _procedureService.GetItem(procedureId);
         procedure.ProcedureDocuments.Add(doc);
         _procedureService.Update(procedure);
         _currentUser = GetCurrentUser();
         Logger.Log.Info($"{_currentUser.Email} Added file {localFileName}");
     }
     catch (Exception ex)
     {
         Logger.Log.Error($"Cannot add file {localFileName} to Procedure: {ex}");
     }
 }