public bool GrabaBD() { //#if DEBUG // WASMCOMEntities ww = new WASMCOMEntities(); // clReclamaciones rr = // (from r in ww.clReclamaciones // where r.id == this.idReclamacion // select r).FirstOrDefault(); // rr.cerrada = true; // rr.codplazaPenalizada = rr.codplazaReclamada; // rr.importeIndemnizacion = ImporteIndemnizacion; // rr.importePenalizacion = ImportePenalizacion; // rr.invertirCargos = InvertirCargos; // rr.OnCierre(); // return true; //#endif if (!HttpContext.Current.User.Identity.IsAuthenticated) return false; WASMCOMEntities w = new WASMCOMEntities(); try { if (this.fecha == DateTime.MinValue) this.fecha = DateTime.Now; this.usuario = HttpContext.Current.User.Identity.Name; w.clTrackingReclamacion.Add(this); w.SaveChanges(); if (this.tipoTracking == 3 || this.tipoTracking ==4) // Aceptada/rechazada { if (this.tipoTracking == 4) { ImporteIndemnizacion = 0; ImportePenalizacion = 0; } clTrackingReclamacion cerrada = new clTrackingReclamacion(); cerrada.tipoTracking = 5; cerrada.fecha = DateTime.Now; cerrada.idReclamacion = this.idReclamacion; cerrada.observaciones = "Cerrada automaticamente"; cerrada.usuario = HttpContext.Current.User.Identity.Name; w.clTrackingReclamacion.Add(cerrada); clReclamaciones reclamacion = (from r in w.clReclamaciones where r.id == this.idReclamacion select r).FirstOrDefault(); reclamacion.cerrada = true; reclamacion.importeIndemnizacion = ImporteIndemnizacion; reclamacion.importePenalizacion = ImportePenalizacion; reclamacion.invertirCargos = InvertirCargos; if (reclamacion.codplazaPenalizada == null && reclamacion.importePenalizacion > 0) { reclamacion.codplazaPenalizada = reclamacion.codplazaReclamada; } if (reclamacion.codplazaIndemnizada == null && reclamacion.importeIndemnizacion > 0) { reclamacion.codplazaIndemnizada = reclamacion.codplazaReclama; } w.SaveChanges(); reclamacion.OnCierre(); } w.Dispose(); } catch { w.Dispose(); return false; } return true; }
public ActionResult NuevoTracking(clTrackingReclamacion tracking) { if (ModelState.IsValid) { if (tracking.GrabaBD()) { return RedirectToAction("Index"); } } return View(tracking); }
public bool GrabaBD() { if (!HttpContext.Current.User.Identity.IsAuthenticated) return false; WASMCOMEntities w = new WASMCOMEntities(); try { //es obligatorio codexp o codrecogida if (this.codexp == null && this.codrecogida == null) return false; if (this.fechaInicio == null) this.fechaInicio = DateTime.Now; if (this.codplazaReclama == null) this.codplazaReclama = new Seguridad().GetMiCodPlaza(); w.clReclamaciones.Add(this); w.SaveChanges(); clTrackingReclamacion tr = new clTrackingReclamacion(); tr.tipoTracking = 1; tr.fecha = DateTime.Now; tr.idReclamacion = this.id; tr.observaciones = string.IsNullOrEmpty(ObservacionesAlta) ? "Por grabación" : ObservacionesAlta; tr.usuario = HttpContext.Current.User.Identity.Name; w.clTrackingReclamacion.Add(tr); w.SaveChanges(); w.Dispose(); } catch { w.Dispose(); return false; } return true; }