public static async Task <bool> SaveFiles(IFormFileCollection files, int id, String step, int type, GALibrary.Models.Parameter parameter) { foreach (IFormFile file in files) { string fname; try { string[] testfiles = file.FileName.Split(new char[] { '\\' }); fname = testfiles[testfiles.Length - 1]; } catch { fname = file.FileName; } string erro = await SaveFile(id, file, fname, type); if (erro == null) { GALibrary.GALogs.SaveLog(step, "Arquivos salvos com sucesso para o ID - " + id, 2, GALibrary.Models.DB.Context.Parameter.FirstOrDefault()); } else { GALibrary.GALogs.SaveLog(step, "Erro ao salvar arquivos para o ID - " + id + " - " + erro, 1, GALibrary.Models.DB.Context.Parameter.FirstOrDefault()); return(false); } } //Caso sejam arquivos SQL compacta a pasta if (type == 1) { GALibrary.GAFiles.CompressSQLFiles(id, step, parameter); } return(true); }
//Envio de e-mail //Tipo: //1 = Envio de log para quem criou atualização; //2 = Envio de comunicado para grupo public static void SendMail(string toEmail, int type, GALibrary.Models.UpdateGA update, GALibrary.Models.EmailSettings emailSettings, GALibrary.Models.Parameter parameter, String aplicacao, Models.Ldap ldap) { try { string body = ""; Models.UserAD userAD = GALibrary.GAAD.GetADUserData(ldap, update.User); if (toEmail == null) { toEmail = userAD.Mail; } MailMessage mail = new MailMessage(); body = SendMailBody(type, update, aplicacao, userAD.FullName); LinkedResource header = new LinkedResource(parameter.MailHeader); header.ContentId = "header"; LinkedResource footer = new LinkedResource(parameter.MailFooter); footer.ContentId = "footer"; mail.To.Add(new MailAddress(toEmail)); AlternateView bodyImages = AlternateView.CreateAlternateViewFromString(body, null, MediaTypeNames.Text.Html); bodyImages.LinkedResources.Add(header); bodyImages.LinkedResources.Add(footer); mail.AlternateViews.Add(bodyImages); mail.Subject = $"GA - {aplicacao} - {update.Name}"; mail.Body = body; mail.IsBodyHtml = true; mail.Priority = MailPriority.High; mail.From = new MailAddress(emailSettings.From); SmtpClient smtp = new SmtpClient(emailSettings.Server, emailSettings.Port); smtp.Credentials = new NetworkCredential(emailSettings.Username, emailSettings.Password); smtp.EnableSsl = false; smtp.Send(mail); smtp.Dispose(); mail.Dispose(); GALogs.SaveLog("Email", "email enviado com sucesso para " + toEmail, 2, parameter); } catch (Exception erro) { GALogs.SaveLog("Email", "Erro ao enviar e-mail a atualização - " + update.Name + " - " + erro, 1, parameter); } }