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); } } }
public ActionResult TakeService(FormCollection form) { if (form[0] != null) { int anuncioId = int.Parse(form[0]); using (var db = new Entities()) { var solicitud = db.SS_SolicitudServicio.Add(new SS_SolicitudServicio { AN_Id = anuncioId, ST_Id = 1, SS_Fecha = System.DateTime.Now, UserId = WebSecurity.CurrentUserId }); var solicitudcreada = db.SaveChanges<SS_SolicitudServicio>(solicitud); if (solicitudcreada != null) { SendEmailNotification(solicitudcreada, false); } } } return null; }
public ActionResult ExternalLoginConfirmation(RegisterExternalLoginModel model, string returnUrl) { string provider = null; string providerUserId = null; if (User.Identity.IsAuthenticated || !OAuthWebSecurity.TryDeserializeProviderUserId(model.ExternalLoginData, out provider, out providerUserId)) { return RedirectToAction("Manage"); } if (ModelState.IsValid) { // Insert a new user into the database using (Entities db = new Entities()) { UserProfile user = db.UserProfile.FirstOrDefault(u => u.UserName.ToLower() == model.UserName.ToLower()); // Check if user already exists if (user == null) { // Insert name into the profile table db.UserProfile.Add(new UserProfile { UserName = model.UserName, ST_Id = 1, MP_MemberShipId = 1, Name = model.UserName }); db.SaveChanges(); OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, model.UserName); OAuthWebSecurity.Login(provider, providerUserId, createPersistentCookie: false); return RedirectToLocal(returnUrl, string.Empty); } else { ModelState.AddModelError("UserName", "Ya existe una cuenta con esta cuenta de correo. Por favor ingrese un correo diferente."); } } } ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(provider).DisplayName; ViewBag.ReturnUrl = returnUrl; return View(model); }
// Delete file from the server private void DeleteFile(HttpContext context) { if (context.Request["id"] != null) { using (var db = new Entities()) { var extra = db.AE_AnunciosExtras.Find(int.Parse(context.Request["id"].ToString())); var currentPath = ExtraRoot + extra.AN_Id + @"\" + extra.AN_Nombre; if (File.Exists(currentPath)) { File.Delete(currentPath); } db.AE_AnunciosExtras.Remove(extra); db.SaveChanges(); } } else { var filePath = System.Web.HttpContext.Current.Server.MapPath(context.Request["f"]); if (File.Exists(filePath)) { File.Delete(filePath); } } }
private void SaveContent(List<FilesStatus> files) { using (var tran = new TransactionScope()) { using (var db = new Entities()) { files.ForEach(c => { var anun = new AE_AnunciosExtras(); anun.AN_Id = int.Parse(HttpContext.Current.Session["Anuncio"].ToString()); anun.AN_ImagenUrl = c.UrlPath; anun.AN_Nombre = Path.GetFileName(c.UrlPath); var entity =db.SaveChanges<AE_AnunciosExtras>(anun); c.IdResource = entity.AE_Id; }); } tran.Complete(); } }