public ActionResult ChangeStatus(int Solicitud, int Status)
 {
     Updating update = new Updating() { Message = "Proceso de Actualización Exitosa." };
     using (var db = new Entities())
     {
         var solicitud = db.SS_SolicitudServicio.Find(Solicitud);
         solicitud.ST_Id = Status;
         db.Entry(solicitud).State = EntityState.Modified;
         db.SaveChanges();
         if (Status == 3)
         {
             SendEmailNotification(solicitud, true);
         }
     }
     return Json(update.SerializeToJson(), JsonRequestBehavior.AllowGet);
 }
        private void SendEmailNotification(SS_SolicitudServicio solicitud, bool isReview)
        {
            string pXml = string.Empty;
            var ppEmailTemplate = new Notification();
            var userName = WebSecurity.CurrentUserName;
            using (db = new Entities())
            {
                var soli = db.SS_SolicitudServicio.Where(c => c.SS_Id == solicitud.SS_Id);
                ppEmailTemplate.CustomerName = soli.FirstOrDefault().UserProfile.Name;
                ppEmailTemplate.ProviderName = soli.FirstOrDefault().AN_Anuncios.UserProfile.Name;
                ppEmailTemplate.SolicitudId = soli.FirstOrDefault().SS_Id;
                ppEmailTemplate.AnuncioId = soli.FirstOrDefault().AN_Anuncios.AN_Id;
                ppEmailTemplate.EmailCliente = soli.FirstOrDefault().UserProfile.UserName;
                ppEmailTemplate.EmailProveedor = soli.FirstOrDefault().AN_Anuncios.UserProfile.UserName;

                string urlimg = Request.Url.GetLeftPart(UriPartial.Authority) + VirtualPathUtility.ToAbsolute("~/");
                var firstImage = "~/Images/logo2-blue.png";
                var formatted = firstImage.Replace("~", "");
                if (formatted.StartsWith("/"))
                    formatted = formatted.Remove(0, 1);
                firstImage = urlimg + formatted;

                ppEmailTemplate.Image = firstImage;

                string link = Request.Url.GetLeftPart(UriPartial.Authority) + VirtualPathUtility.ToAbsolute("~/") + "Review/Create/" + solicitud.SS_Id;
                ppEmailTemplate.LinkReview = link;

                pXml = ppEmailTemplate.Serialize<Notification>();
                string serverPath = string.Empty;
                serverPath = base.Server.MapPath("~");
                string body = string.Empty;

                if (isReview)
                {
                    body = pXml.ConvertXML(Path.Combine(serverPath, @"EmailTemplates\ServicioReview.xslt"));
                    Extensions.ExtensionHelper.SendEmail(ppEmailTemplate.EmailCliente, "Informanos de como te fue en el servicio", body);

                    var soliupdate = db.SS_SolicitudServicio.Find(solicitud.SS_Id);
                    soliupdate.ST_Id = 4;
                    db.Entry(soliupdate).State = EntityState.Modified;
                    db.SaveChanges();

                }

                else
                {
                    body = pXml.ConvertXML(Path.Combine(serverPath, @"EmailTemplates\ServicioRequestClient.xslt"));
                    Extensions.ExtensionHelper.SendEmail(ppEmailTemplate.EmailCliente, "Solicitud de Servicio", body);

                    body = pXml.ConvertXML(Path.Combine(serverPath, @"EmailTemplates\ServicioRequestProved.xslt"));
                    Extensions.ExtensionHelper.SendEmail(ppEmailTemplate.EmailProveedor, "Solicitud de Servicio", body);
                }
            }
        }