Beispiel #1
0
        public AuditType Update(AuditType auditType)
        {
            AuditsTypes typeDB = _mapper.Map <AuditType, AuditsTypes>(auditType);

            _ctx.AuditsTypes.Update(typeDB);
            _ctx.SaveChanges();

            return(_mapper.Map <AuditsTypes, AuditType>(typeDB));
        }
        private void SendEmailAuditRescheduling(string[] toEmails, string[] ccEmails, string[] bccEmails, Audit audit)
        {
            using (var scope = _serviceProvider.CreateScope())
            {
                var _mapper      = scope.ServiceProvider.GetService(typeof(IMapper)) as IMapper;
                var _ctx         = scope.ServiceProvider.GetService(typeof(SQLHoshinCoreContext)) as SQLHoshinCoreContext;
                var _emailSender = scope.ServiceProvider.GetService(typeof(IEmailSender)) as IEmailSender;

                Sectors              sector         = _ctx.Sectors.Where(x => x.SectorID == audit.SectorID).SingleOrDefault();
                Plants               plant          = _ctx.Plants.Where(x => x.PlantID == audit.PlantID).SingleOrDefault();
                AuditsTypes          auditsTypes    = _ctx.AuditsTypes.Where(x => x.AuditTypeID == audit.AuditTypeID).SingleOrDefault();
                List <AuditStandard> auditStandards = _ctx.AuditStandard.Include(x => x.Standard).Where(x => audit.AuditStandardsID.Contains(x.StandardID) && x.AuditID == audit.AuditID).ToList();
                Users  auditor         = _ctx.Users.Where(x => x.Id == audit.AuditorID).SingleOrDefault();
                String auditorFullname = (auditor == null ? audit.ExternalAuditor : auditor.Surname + ", " + auditor.FirstName);

                _emailSender.SendEmailAsync(toEmails, new string[0], new string[0], $"Hoshin Cloud - Reprogramación de Auditoría - {auditsTypes.Name}",
                                            SetMessageEmail(audit.AuditID,
                                                            audit.AuditInitDate,
                                                            sector.Name,
                                                            auditsTypes.Name,
                                                            auditStandards,
                                                            auditorFullname), true, System.Net.Mail.MailPriority.High);
            }
        }