Ejemplo n.º 1
0
        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);
 }
Ejemplo n.º 3
0
        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;
        }