Esempio n. 1
0
        public ActionResult EstadoFisico(long idincidencia)
        {
            Session["idincidencia"] = idincidencia;
            var model = new IncidenciaData().ObtenerIncidencia(idincidencia);

            var modSucursal = new SucursalData().obtenerSucursal(model.idsucursal);

            model.ListaAccesorios = GetListaAccesorios();

            if (model.accesorios != null)
            {
                model.AccesoriosSeleccionados = model.accesorios.Split(',').ToArray();
            }
            ViewData["ListaEstadosFiProducto"] = MantenimientoData.GetListarValoresxTabla(Convert.ToInt32(Constantes.MaestroTablas.TipoDano));

            var sucursal      = new SucursalData().ListarSucursal("", "", null, (Int32)Constantes.Partner.Smartway).Where(x => x.reparacion);
            var listasucursal = new SelectList(
                sucursal,
                "idsucursal",
                "nombre");


            model.reparadoensucursal = modSucursal.reparacion;
            model.sucursaldelivery   = modSucursal.delivery;

            ViewData["listasucursal"] = listasucursal;

            var direccion        = MantenimientoData.GetListarDireccionesxCliente(model.idcliente);
            var listadirecciones = new SelectList(direccion, "iddireccion", "direccion");

            ViewData["listadireccion"] = listadirecciones;

            return(View(model));
        }
Esempio n. 2
0
        public JsonResult JsonGetListarIncidencia(string numeroincidencia
                                                  , string numerodocumento
                                                  , string fechainicio
                                                  , string fechafin)
        {
            if (String.IsNullOrEmpty(numeroincidencia))
            {
                numeroincidencia = null;
            }
            if (String.IsNullOrEmpty(numerodocumento))
            {
                numerodocumento = null;
            }
            if (String.IsNullOrEmpty(fechainicio))
            {
                fechainicio = null;
            }
            if (String.IsNullOrEmpty(fechafin))
            {
                fechafin = null;
            }


            var listadoTotal = new IncidenciaData().ListarIncidencias(numeroincidencia, numerodocumento, fechainicio, fechafin).ToList();
            var resjson1     = (new JqGridExtension <IncidenciaModel>()).DataBind(listadoTotal, listadoTotal.Count);

            return(resjson1);
        }
Esempio n. 3
0
        Incidencia RetIncidenciaById(int id)
        {
            //IncidenciaData rdr = new IncidenciaData();
            IEntityRead <Incidencia> rdr = new IncidenciaData();

            Incidencia inc = rdr.QueryEntity(id);

            return(inc);
        }
        public JsonResult cargarRepuestos(int idreparacion, int idproducto)
        {
            var respuestos     = new IncidenciaData().listarRepuestos(idreparacion, idproducto).ToList();
            var listarepuestos = new SelectList(
                respuestos,
                "idproducto",
                "descripcionlarga");

            return(Json(new { listarepuestos }));
        }
        public PartialViewResult JsonAgregarIncidentes(long?idmanifiesto, long?idorden)
        {
            IncidenciaModel model = new IncidenciaModel();

            model.idmanifiesto   = idmanifiesto;
            model.idordentrabajo = idorden;
            var estacion      = IncidenciaData.GetListarMaestroIncidencia("L").ToList();
            var listaestacion = new SelectList(
                estacion,
                "idmaestroincidencia",
                "descripcion");

            ViewData["ListadoMaestroIncidente"] = listaestacion;

            model.horaincidencia  = DateTime.Now.Hour.ToString().PadLeft(2, '0') + ":" + DateTime.Now.Minute.ToString().PadLeft(2, '0');
            model.fechaincidencia = DateTime.Now;

            return(PartialView("_AgregarIncidente", model));
        }
Esempio n. 6
0
        public JsonResult SaveImage(long?id, string imageData, string imageData2, string imageData3, string imageData4,
                                    string imageData5, string imageData6)
        {
            long idincidencia  = id.Value;
            var  modIncidencia = new IncidenciaModel();

            modIncidencia.__tipooperacion = 6;
            modIncidencia.idincidencia    = idincidencia;

            modIncidencia.partedelantera = Convert.FromBase64String(imageData);
            modIncidencia.parteposterior = Convert.FromBase64String(imageData2);
            modIncidencia.partesuperior  = Convert.FromBase64String(imageData3);
            modIncidencia.parteinferior  = Convert.FromBase64String(imageData4);
            modIncidencia.parteizquierda = Convert.FromBase64String(imageData6);
            modIncidencia.partederecha   = Convert.FromBase64String(imageData5);

            string Pic_Path = HttpContext.Server.MapPath("/Images/" + idincidencia + "/Delantera.png");

            SaveNewImage(imageData, idincidencia, Pic_Path);


            Pic_Path = HttpContext.Server.MapPath("/Images/" + idincidencia + "/Posterior.png");
            SaveNewImage(imageData2, idincidencia, Pic_Path);

            Pic_Path = HttpContext.Server.MapPath("/Images/" + idincidencia + "/Superior.png");
            SaveNewImage(imageData3, idincidencia, Pic_Path);

            Pic_Path = HttpContext.Server.MapPath("/Images/" + idincidencia + "/Inferior.png");
            SaveNewImage(imageData4, idincidencia, Pic_Path);

            Pic_Path = HttpContext.Server.MapPath("/Images/" + idincidencia + "/LateralDerecho.png");
            SaveNewImage(imageData5, idincidencia, Pic_Path);

            Pic_Path = HttpContext.Server.MapPath("/Images/" + idincidencia + "/LateralIzquierdo.png");
            SaveNewImage(imageData6, idincidencia, Pic_Path);

            var result = new IncidenciaData().insertarActualizarIncidencia(modIncidencia);


            return(Json(new { res = true }));
        }
Esempio n. 7
0
        public JsonResult RegistrarNuevaIncidenciaSinReclamo(IncidenciaModel modelo)
        {
            var respuesta = string.Empty;

            modelo.idusuarioregistro   = Usuario.Idusuario;
            modelo.fechaemision        = DateTime.Now;
            modelo.fechahoraregistro   = DateTime.Now;
            modelo.atendidaxcallcenter = false;
            modelo.idestado            = (Int32)Constantes.EstadoIncidencia.EnProceso;
            modelo.idsucursal          = Usuario.idsucursal;
            modelo.serie           = modelo.serie;
            modelo.imei            = modelo.imei;
            modelo.activo          = true;
            modelo.__tipooperacion = 1; //insertar

            var producto = new ProductoData().obtenerProducto(modelo.idproducto);

            var result            = new IncidenciaData().insertarActualizarIncidencia(modelo);
            var numero_incidencia = new IncidenciaData().ObtenerIncidencia(result.idincidencia.Value);

            if (result == null)
            {
                ModelState.AddModelError("", respuesta);
                return(Json(new { res = false, Errors = ModelState.Errors() }));
            }
            else
            {
                return(Json(new
                {
                    engarantia = modelo.engarantia,
                    res = true,
                    incidencia = result.idincidencia,
                    num_incidencia = numero_incidencia.anioincidencia + "-" + numero_incidencia.numeroincidencia
                }));
            }
        }
Esempio n. 8
0
        public ActionResult AtencionEvaluacion(long idincidencia)
        {
            var model          = new EvaluacionModel();
            var dataIncidencia = new IncidenciaData();

            var incidenciaModel = dataIncidencia.ObtenerIncidencia(idincidencia);

            var productoModel      = new ProductoData().obtenerProducto(incidenciaModel.idproducto);
            var detallecomprobante = FacturacionData.GetListarDetalleComprobante(incidenciaModel.iddocumentocompra).ToList();
            var evaluacion         = AgendamientoData.ListarIncidenciaEvaluacion(idincidencia).ToList();

            #region asignacion de propiedades
            model.numeroincidencia       = incidenciaModel.numeroincidencia;
            model.anioincidencia         = incidenciaModel.anioincidencia;
            model.falla                  = incidenciaModel.falla;
            model.producto               = incidenciaModel.producto;
            model.requerimientocliente   = incidenciaModel.requerimientocliente;
            model.codigoproducto         = incidenciaModel.codigoproducto;
            model.idrequerimientocliente = incidenciaModel.idrequerimientocliente;
            model.incidenciagarantia     = incidenciaModel.incidenciagarantia;
            model.requiereevaluacion     = incidenciaModel.requiereevaluacion;
            model.idordenserviciotecnico = incidenciaModel.idordenserviciotecnico;
            #endregion

            if (!incidenciaModel.incidenciagarantia)                                                               // No fue vendido en smartway ni en partner ni reparado en smartway
            {
                return(View("SeguimientoIncidencia"));                                                             // no puede ingresar a esta página
            }
            if (detallecomprobante[0].idconceptofacturacion == (Int16)(Constantes.ConceptoFacturacion.Reparacion)) /// REPARADO EN SMARTWAY
            {
                ///Aca pensar en como se hará el tema del concepto de reparacion para la garantía
                ///
            }
            else
            {
                //vendido en smartway  o partner

                var garantias = dataIncidencia.ListarEvaluarGarantia(productoModel.idtipoproducto.Value
                                                                     , incidenciaModel.idfabricante
                                                                     , incidenciaModel.idpartner
                                                                     ).ToList();

                if (garantias != null && garantias.ToList().Count != 0)
                {
                    //Dar prioridad a la garantia DAP
                    //
                    var dap = AgendamientoData.EvaluarGarantia(DateTime.Now.Date
                                                               , detallecomprobante[0].fechaemision
                                                               , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.DAP)).SingleOrDefault());

                    var garantia_cliente = AgendamientoData.EvaluarGarantia(DateTime.Now.Date
                                                                            , detallecomprobante[0].fechaemision
                                                                            , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).SingleOrDefault());

                    if (garantia_cliente)
                    {
                        garantias.ForEach(x =>
                        {
                            if (x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente))
                            {
                                x.resultado      = true;
                                model.garantia   = "Con garantía de Cliente";
                                model.engarantia = true;
                            }
                        }
                                          );
                        model.idtipogarantia = (Int16)Constantes.TipoGarantia.Cliente;
                    }
                    if (dap)
                    {
                        garantias.ForEach(x =>
                        {
                            if (x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.DAP))
                            {
                                x.resultado      = true;
                                model.garantia   = "Con garantía DAP";
                                model.engarantia = true;
                            }
                        }
                                          );
                        model.idtipogarantia = (Int16)Constantes.TipoGarantia.DAP;
                    }
                    if (garantia_cliente == false && dap == false)
                    {
                        model.garantia   = "Fuera de garantía";
                        model.engarantia = false;
                    }
                }
                else
                {
                    model.garantia   = "Fuera de garantía";
                    model.engarantia = false;
                    garantias.Add(new Mantenimiento.Models.GarantiaModel()
                    {
                        descripcion = "No existen garantias registradas para este producto"
                    });
                }
                model.idincidencia     = idincidencia;
                model.ListaGarantias   = garantias;
                model.ListaCondiciones =

                    dataIncidencia.ListarCondiciones
                        (incidenciaModel.idtipoproducto, incidenciaModel.idfabricante).ToList();



                model.idetapa = incidenciaModel.idetapa;

                if (incidenciaModel.idetapa >= 2)
                {
                    int i = 0;

                    evaluacion = evaluacion.OrderBy(x => x.idcondicion).ToList();

                    foreach (var item in model.ListaCondiciones.OrderBy(x => x.idcondicion).ToList())
                    {
                        if (item.idcondicion == evaluacion[i].idcondicion)
                        {
                            item.activo = evaluacion[i].valor;
                        }
                        i++;
                    }
                    model.Evaluacion       = true;
                    model.ListaCondiciones = model.ListaCondiciones.OrderByDescending(x => x.valor).ToList();
                }
                else
                {
                    model.ListaCondiciones = model.ListaCondiciones.OrderByDescending(x => x.valor).ToList();
                    foreach (var item in model.ListaCondiciones)
                    {
                        if (item.valor)
                        {
                            item.activo = true;
                        }
                        else
                        {
                            item.activo = false;
                        }
                    }
                }
            }

            if (model.ideva.HasValue)
            {
                model.evaluacionrealizada = true;
            }
            else
            {
                model.evaluacionrealizada = false;
            }

            //if (incidenciaModel.idcoti.HasValue)
            //    model.cotizacionrealizada = true;
            //else
            //    model.cotizacionrealizada = false;

            return(View(model));
        }
Esempio n. 9
0
        public JsonResult RegistrarEstadoFisico(IncidenciaModel model)
        {
            int idEstadoOrdenServicio;

            if (model.AccesoriosSeleccionados != null)
            {
                var modEstadoFisico = new EstadoFisicoModel();
                modEstadoFisico.idincidencia  = model.idincidencia.Value;
                modEstadoFisico.idsaccesorios = string.Join(",", model.AccesoriosSeleccionados);
                new AgendamientoData().insertarActualizarAccesorioIncidencia(modEstadoFisico);
            }
            var modIncidencia = new IncidenciaData().ObtenerIncidencia(model.idincidencia.Value);

            modIncidencia.__tipooperacion = 5;// cambiar estado
            modIncidencia.idestado        = (int)(Constantes.EstadoIncidencia.Cerrada);
            modIncidencia.idetapa         = (int)(Constantes.Etapa.EstadoFisico);

            if (model.idsucursalreparacion.HasValue)
            {
                modIncidencia.idsucursalreparacion = model.idsucursalreparacion;
                modIncidencia.idsucursaldestino    = model.idsucursalreparacion;
                idEstadoOrdenServicio = (Int32)Constantes.EstadoOrdenServicio.PendienteDespacho;
            }
            else
            {
                modIncidencia.idsucursalreparacion = modIncidencia.idsucursal;
                idEstadoOrdenServicio = (Int32)Constantes.EstadoOrdenServicio.PendienteAsignacionTecnico;
            }

            modIncidencia.iddirecciondelivery = model.iddirecciondelivery;

            var result = new IncidenciaData().insertarActualizarIncidencia(modIncidencia);



            var ModInventario = new InventarioModel();

            ModInventario.cantidad          = 1;
            ModInventario.fechahoraregistro = DateTime.Now;
            //almacen principal
            var objAlmacen = InventarioData.GetListarAlmacen(modIncidencia.idsucursal, "001").FirstOrDefault();

            ModInventario.idalmacen            = objAlmacen.idalmacen.Value;
            ModInventario.iddocumentorecepcion = 0;
            ModInventario.idestado             = (Int32)Constantes.Producto.PendienteReparar;
            ModInventario.idproducto           = modIncidencia.idproducto;
            ModInventario.idusuarioregistro    = Usuario.Idusuario;
            ModInventario.imei          = modIncidencia.imei;
            ModInventario.serie         = modIncidencia.serie;
            ModInventario.__idoperacion = 1;
            ModInventario.idinventario  = new InventarioData().InsertarActualizarInventario(ModInventario);

            #region Para ordenes que se atienden en la misma localidad
            if (modIncidencia.idsucursal == modIncidencia.idsucursaldestino.Value)
            {
                idEstadoOrdenServicio = (Int32)Constantes.EstadoOrdenServicio.PendienteAsignacionTecnico;
                //modOrdenServicio.__tipooperacion = 2;
                //new OrdenServicioData().InsertarActualizarOrdenServicio(modOrdenServicio);
            }
            #endregion

            var modOrdenServicio = GenerarOrdenServicio(model.idincidencia.Value, idEstadoOrdenServicio, modIncidencia);



            return(Json(new { res = true, idordenservicio = modOrdenServicio.idordenserviciotecnico, numeroordenservicio = modOrdenServicio.numeroordenservicio }));
        }
        public ActionResult Cotizar(long idordentrabajo)
        {
            Session["CotizacionDetalleModel"] = null;
            var model          = new VentaCotizacionModel();
            var dataIncidencia = new IncidenciaData();
            var listadoactual  = new List <VentaCotizacionDetalleModel>();


            var modOrdenTrabajo  = new ReparacionesData().obtenerOrdenTrabajo(idordentrabajo);
            var modOrdenServicio = new OrdenServicioData().obtenerOrdenServicio(modOrdenTrabajo.idordenserviciotecnico.Value);
            var modIncidencia    = new IncidenciaData().ObtenerIncidencia(modOrdenServicio.idincidencia.Value);

            //var listadoTotal = new VentaData().listarCotizacionDetalle(idincidencia).ToList();

            //var modIncidencia = dataIncidencia.ObtenerIncidencia(idincidencia);
            //var modSucursal = new SucursalData().obtenerSucursal(modIncidencia.idsucursal);



            #region EvaluacionDeGarantia

            //model.engarantia = modIncidencia.engarantia;
            //if (model.engarantia)
            //{
            //    if (modIncidencia.idtipogarantia == (Int32)(Constantes.TipoGarantia.Cliente))
            //        model.garantia = "Con garantía de Cliente";
            //    else if (modIncidencia.idtipogarantia == (Int32)(Constantes.TipoGarantia.DAP))
            //        model.garantia = "Con garantía DAP";
            //    else if (modIncidencia.idtipogarantia == (Int32)(Constantes.TipoGarantia.SinGarantia))
            //        model.garantia = "Sin Garantia";
            //}

            #endregion

            //if (listadoTotal.Count > 0)
            //{
            //    Session["CotizacionDetalleModel"] = listadoTotal;
            //    model.idsucursalreparacion = listadoTotal[0].idsucursalreparacion;
            //    model.str_total = (Convert.ToDecimal(listadoTotal.Sum(x => x.costo).ToString()) * (decimal)(1.00)).ToString("0.##");
            //    model.str_subtotal = (Convert.ToDecimal(model.str_total) / (decimal)(1.18)).ToString("0.##");
            //    model.str_igv = (Convert.ToDecimal(model.str_total) - Convert.ToDecimal(model.str_subtotal)).ToString("0.##");
            //    model.idcotizacion = listadoTotal[0].idcotizacion;
            //    model.iddirecciondelivery = listadoTotal[0].iddirecciondelivery;
            //    model.idsucursalreparacion = listadoTotal[0].idsucursalreparacion;
            //}
            //else
            //{
            //    if (!model.engarantia)
            //    {
            //        //listadoTotal.Add(new CotizacionDetalleModel
            //        //{
            //        //    costo = Convert.ToDecimal(20.00),
            //        //    descripcion = "Servicio de Reparación"
            //        //});
            //        //listadoTotal.Add(new CotizacionDetalleModel
            //        //{
            //        //    costo = Convert.ToDecimal(10.00),
            //        //    descripcion = "Delivery"
            //        //});
            //    }
            //    Session["CotizacionDetalleModel"] = listadoTotal;

            //}


            #region combos


            var sucursal = new SucursalData().ListarSucursal("", "", null, (Int32)Constantes.Partner.Smartway).Where(x => x.reparacion);

            var listasucursal = new SelectList(
                sucursal,
                "idsucursal",
                "nombre");


            ViewData["listasucursal"] = listasucursal;


            var diagnostico      = new DiagnosticoData().listarDiagnostico(null, null, modIncidencia.idtipoproducto, modOrdenServicio.engarantia);
            var listadiagnostico = new SelectList(diagnostico, "iddiagnostico", "descripcion");
            ViewData["listadiagnostico"] = listadiagnostico;

            #endregion

            #region Asignar propiedades cotizacion Model

            model.numeroincidencia = modIncidencia.numeroincidencia;
            model.falla            = modIncidencia.falla;
            model.producto         = modIncidencia.producto;
            model.codigoproducto   = modIncidencia.codigoproducto;
            model.fechaasignacion  = modOrdenTrabajo.fechahoraasignacion.Value;
            model.idpartner        = modIncidencia.idpartner;
            model.idtipoproducto   = modIncidencia.idtipoproducto;
            model.idfabricante     = modIncidencia.idfabricante;
            model.idsucursal       = modIncidencia.idsucursal;
            model.idproducto       = modIncidencia.idproducto;

            #endregion

            return(View(model));
        }
Esempio n. 11
0
        public JsonResult RegistrarNuevaIncidencia(IncidenciaModel modelo)
        {
            var respuesta = string.Empty;

            modelo.idusuarioregistro   = Usuario.Idusuario;
            modelo.fechahoraregistro   = DateTime.Now;
            modelo.atendidaxcallcenter = false;
            modelo.idestado            = (Int32)Constantes.EstadoIncidencia.EnProceso;
            modelo.idsucursal          = Usuario.idsucursal;
            modelo.idproducto          = Convert.ToInt32(modelo.ItemIncidencia);

            ///////Registrado previamente
            if (modelo.iddocumentocompra != null)
            {
                var detallecomprobante = FacturacionData.GetListarDetalleComprobante(modelo.iddocumentocompra).ToList();
                var hoy             = DateTime.Now.Date;
                var fechareparacion = detallecomprobante[0].fechaemision;
                modelo.fechaemision    = fechareparacion;
                modelo.idsucursalventa = detallecomprobante[0].idsucursalventa;
                var periodo = Convert.ToInt16(ConfigurationManager.AppSettings["PeriodoGarantiaReparacion"]);
                modelo.idtipogarantia  = (int)Constantes.TipoGarantia.Reparacion;
                modelo.periodogarantia = periodo;
                if ((hoy - fechareparacion).TotalDays > periodo)
                {
                    modelo.engarantia = false;
                }
                else
                {
                    modelo.engarantia = true;
                }
            }
            else
            {
                var detalle_aux            = (DetalleComprobanteModel)Session["DetalleComprobanteModel"];
                var detalledocumentocompra = new DetalleComprobanteModel();
                var documentocompra        = (ComprobanteModel)Session["ComprobanteCliente"];

                documentocompra.idconceptofacturacion = (Int16)(Constantes.ConceptoFacturacion.Venta);
                documentocompra.ventapartner          = true;
                documentocompra.idusuarioregistro     = Usuario.Idusuario;
                documentocompra.idcliente             = modelo.idcliente;
                documentocompra.ventaenlinea          = false;
                documentocompra.total             = 0;
                documentocompra.subtotal          = 0;
                documentocompra.igv               = 0;
                documentocompra.idestado          = (Int16)(Constantes.EstadoFacturacion.Facturado);
                documentocompra.idpartner         = modelo.idpartner;
                documentocompra.idsucursalventa   = modelo.idsucursalventa;
                documentocompra.fechahoraregistro = DateTime.Now;

                modelo.iddocumentocompra = new FacturacionData().insertarActualizarComprobanteCliente(documentocompra);
                modelo.fechaemision      = documentocompra.fechaemision;

                detalledocumentocompra.cantidad          = 1;
                detalledocumentocompra.idproducto        = modelo.idproducto;
                detalledocumentocompra.iddocumentocompra = modelo.iddocumentocompra;
                detalledocumentocompra.total             = detalle_aux.total;
                detalledocumentocompra.igv   = detalle_aux.igv;
                detalledocumentocompra.imei  = detalle_aux.imei;
                detalledocumentocompra.serie = detalle_aux.serie;
                var iddetalledocumento = new FacturacionData().insertarActualizarDetalleComprobanteCliente(detalledocumentocompra);
            }

            // Evaluar si garantia DAP

            var producto  = new ProductoData().obtenerProducto(modelo.idproducto);
            var garantias = new IncidenciaData()
                            .ListarEvaluarGarantia(producto.idtipoproducto.Value
                                                   , producto.idfabricante.Value
                                                   , modelo.idpartner
                                                   ).ToList();

            if (garantias != null && garantias.ToList().Count != 0)
            {
                //Dar prioridad a la garantia DAP
                //
                var dap = AgendamientoData.EvaluarGarantia(DateTime.Now.Date
                                                           , modelo.fechaemision.Value
                                                           , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.DAP)).SingleOrDefault());

                var garantia_cliente = AgendamientoData.EvaluarGarantia(DateTime.Now.Date
                                                                        , modelo.fechaemision.Value
                                                                        , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).SingleOrDefault());

                if (dap)
                {
                    modelo.idtipogarantia     = (int)Constantes.TipoGarantia.DAP;
                    modelo.periodogarantia    = garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.DAP)).Single().periodo;
                    modelo.engarantia         = true;
                    modelo.requiereevaluacion = true;
                }
                else if (garantia_cliente)
                {
                    modelo.idtipogarantia     = (int)Constantes.TipoGarantia.Cliente;
                    modelo.periodogarantia    = garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).Single().periodo;
                    modelo.engarantia         = true;
                    modelo.requiereevaluacion = true;
                }
                else
                {
                    modelo.idtipogarantia     = (int)Constantes.TipoGarantia.Cliente;
                    modelo.periodogarantia    = garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).Single().periodo;
                    modelo.engarantia         = false;
                    modelo.requiereevaluacion = false;
                }
            }
            else
            {
                //modelo.idtipogarantia = (int)Constantes.TipoGarantia.Cliente;
                modelo.periodogarantia    = 0;
                modelo.engarantia         = false;
                modelo.requiereevaluacion = false;
            }


            try
            {
                var detalle_aux = (DetalleComprobanteModel)Session["DetalleComprobanteModel"];

                modelo.__tipooperacion = 1; // Actualizacion y Agregacion general
                modelo.idetapa         = (Int32)Constantes.Etapa.Registro;
                modelo.activo          = true;
                modelo.serie           = detalle_aux.serie;
                modelo.imei            = detalle_aux.imei;
                modelo.idproducto      = detalle_aux.idproducto;
                var result = new IncidenciaData().insertarActualizarIncidencia(modelo);

                return(Json(new
                {
                    engarantia = modelo.engarantia,
                    res = true,
                    incidencia = result.idincidencia,
                    num_incidencia = result.numeroincidencia,
                }));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.InnerException.ToString());
                return(Json(new { res = false, Errors = ModelState.Errors() }, JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult guardarIngresoosr(DocumentoRecepcionModel model)
        {
            var detalle = (List <DocumentoRecepcionDetalleModel>)Session["DocumentoRecepcion"];

            #region comprobar requisitos de la carga
            var modProducto = new ProductoData().obtenerProducto(model.idproducto);
            foreach (var item in detalle)
            {
                switch (modProducto.idrequisitoascanear)
                {
                case (Int32)Constantes.Scanear.Imei:
                    if (string.IsNullOrEmpty(item.imei))
                    {
                        return(Json(new { res = false, msj = "La carga requiere del número de IMEI" }));
                    }
                    break;

                case (Int32)Constantes.Scanear.Mac:
                    if (string.IsNullOrEmpty(item.mac))
                    {
                        return(Json(new { res = false, msj = "La carga requiere del número de MAC" }));
                    }
                    break;

                case (Int32)Constantes.Scanear.Serie:
                    if (string.IsNullOrEmpty(item.serie))
                    {
                        return(Json(new { res = false, msj = "La carga requiere del número de Serie" }));
                    }
                    break;

                case (Int32)Constantes.Scanear.SerieImei:
                    if (string.IsNullOrEmpty(item.imei))
                    {
                        return(Json(new { res = false, msj = "La carga requiere del número de IMEI" }));
                    }
                    if (string.IsNullOrEmpty(item.serie))
                    {
                        return(Json(new { res = false, msj = "La carga requiere del número de Serie" }));
                    }
                    break;

                case (Int32)Constantes.Scanear.SerieImeiMac:
                    if (string.IsNullOrEmpty(item.imei))
                    {
                        return(Json(new { res = false, msj = "La carga requiere del número de IMEI" }));
                    }
                    if (string.IsNullOrEmpty(item.serie))
                    {
                        return(Json(new { res = false, msj = "La carga requiere del número de Serie" }));
                    }
                    if (string.IsNullOrEmpty(item.mac))
                    {
                        return(Json(new { res = false, msj = "La carga requiere del número de MAC" }));
                    }
                    break;

                default:
                    break;
                }
            }



            #endregion
            var dataIncidencia = new IncidenciaData();
            List <InventarioModel>         inventarios     = new List <InventarioModel>();
            InventarioModel                inventarioModel = null; // new InventarioModel();
            DocumentoRecepcionDetalleModel modelDetalle    = null;
            OrdenServicioModel             ordenModel      = new OrdenServicioModel();

            if (detalle == null)
            {
                return(Json(new { res = false, msj = "No existen datos cargados en el sistema." }));
            }

            model.fechahoraregistro = DateTime.Now;
            model.activo            = true;
            model.idtiporecibo      = (Int16)Constantes.TipoRecibo.Reparacion;
            model.idusuarioregistro = Usuario.Idusuario;

            model.iddocumentorecepcion = new RecepcionData().insertarActualizarDocumentoRecepcion(model);

            foreach (var item in detalle)
            {
                //traer documento de compra

                var  detfact    = FacturacionData.GetListarDetalleComprobante(null, item.serie).ToList();
                bool cliente    = false;
                bool reparacion = false;

                var garantias = dataIncidencia.ListarEvaluarGarantia(modProducto.idtipoproducto.Value
                                                                     , modProducto.idfabricante.Value
                                                                     , model.idpartner
                                                                     ).ToList();

                if (detfact.Count > 0)
                {
                    cliente = AgendamientoData.EvaluarGarantia(DateTime.Now.Date
                                                               , detfact[0].fechaemision
                                                               , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).SingleOrDefault());


                    reparacion = AgendamientoData.EvaluarGarantia(DateTime.Now.Date
                                                                  , detfact[0].fechaemision
                                                                  , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Reparacion)).SingleOrDefault());
                }


                inventarioModel = new InventarioModel();

                inventarioModel.cantidad          = item.cantidad;
                inventarioModel.codigoproducto    = item.codigo;
                inventarioModel.fechahoraregistro = DateTime.Now;
                inventarioModel.idalmacen         = model.idalmacen;
                inventarioModel.idestado          = (Int16)Constantes.Producto.PendienteReparar;
                inventarioModel.serie             = item.serie;
                inventarioModel.imei                 = item.imei;
                inventarioModel.mac                  = item.mac;
                inventarioModel.pallet               = item.pallet;
                inventarioModel.idusuarioregistro    = Usuario.Idusuario;
                inventarioModel.__idoperacion        = 1;
                inventarioModel.idproducto           = model.idproducto;
                inventarioModel.iddocumentorecepcion = model.iddocumentorecepcion.Value;


                inventarioModel.idinventario = new InventarioData().InsertarActualizarInventario(inventarioModel);



                ordenModel = new OrdenServicioModel();

                ordenModel.activo             = true;
                ordenModel.anioincindecia     = DateTime.Now.Year;
                ordenModel.bounce             = "0";
                ordenModel.idproducto         = model.idproducto;
                ordenModel.codigoproducto     = modProducto.codigoproducto;
                ordenModel.idusuario          = Usuario.Idusuario;
                ordenModel.cotizado           = false;
                ordenModel.documento_coincide = false;
                ordenModel.engarantia         = cliente;
                ordenModel.idtipogarantia     = (Int16)Constantes.TipoGarantia.Cliente;
                ordenModel.fechahoraregistro  = DateTime.Now;
                if (detfact.Count != 0)
                {
                    ordenModel.fechadocumento = detfact[0].fechaemision;
                }
                ordenModel.fecharecepcion      = model.fechahorarecepcion;
                ordenModel.idestado            = (Int16)Constantes.EstadoOrdenServicio.PendienteAsignacionTecnico;
                ordenModel.idtipoordenservicio = (Int16)Constantes.tipoordenservicio.osr;
                ordenModel.__tipooperacion     = 1;
                ordenModel.idcliente           = model.idcliente;
                ordenModel.idpartner           = model.idpartner;
                ordenModel.serie = item.serie;
                ordenModel.imei  = item.imei;
                ordenModel.mac   = item.mac;
                ordenModel.iddocumentorecepcion = model.iddocumentorecepcion.Value;
                ordenModel.idinventario         = inventarioModel.idinventario.Value;



                ordenModel = new OrdenServicioData().InsertarActualizarOrdenServicio(ordenModel);



                modelDetalle = new DocumentoRecepcionDetalleModel();

                inventarioModel.idproducto            = model.idproducto;
                modelDetalle.caja                     = "";
                modelDetalle.cantidad                 = 1;
                modelDetalle.codigo                   = item.codigo;
                modelDetalle.fabricante               = "";
                modelDetalle.fechahorapersonalizacion = DateTime.Now;
                modelDetalle.fila                     = item.fila;
                modelDetalle.iddocumentorecepcion     = model.iddocumentorecepcion.Value;
                modelDetalle.idfila                   = item.idfila;
                modelDetalle.idmodelo                 = item.idmodelo;
                modelDetalle.idproducto               = inventarioModel.idproducto;
                modelDetalle.idusuariopersonalizacion = Usuario.Idusuario;

                modelDetalle.numeropallet = item.pallet;
                modelDetalle.repuesto     = false;
                modelDetalle.serie        = item.serie;
                modelDetalle.mac          = item.mac;
                new RecepcionData().insertarActualizarDocumentoRecepcionDetalle(modelDetalle);
            }
            return(Json(new { res = true }));
        }
Esempio n. 13
0
        public ActionResult DetalleOrdenServicio(long idordenservicio)
        {
            var ordenServicio = new OrdenServicioData().obtenerOrdenServicio(idordenservicio);


            var ordentrabajo  = new ReparacionesData().obtenerOrdenTrabajo(ordenServicio.idordentrabajo.Value);
            var listadoactual = VentaData.listarCotizacionDetalle(idordenservicio).ToList();


            var model = new IncidenciaData().ObtenerIncidencia(ordenServicio.idincidencia.Value);

            model.idestado = ordenServicio.idestado;


            model.total    = Math.Round(listadoactual.Sum(x => x.costototal), 2);
            model.subtotal = Math.Round(Convert.ToDecimal(model.total / Convert.ToDecimal(1.18)), 2);
            model.igv      = Math.Round(model.total - model.subtotal, 2);



            model.editar    = false;
            model.direccion = model.direccioncliente;
            if (listadoactual.Count > 0)
            {
                model.idcotizacion = listadoactual[0].idcotizacion;
            }

            var perfiles = Usuario.Perfiles;
            //Validar si es admin
            var autorizar = perfiles.Where(x => x.IdPerfil.Equals
                                               (Convert.ToInt32(Constantes.Perfil.Admin))).SingleOrDefault();

            if (autorizar != null)
            {
                var sucursal      = new SucursalData().ListarSucursal("", "", null);
                var listasucursal = new SelectList(
                    sucursal,
                    "idsucursal",
                    "nombre");
                ViewData["listasucursal"] = listasucursal;
                model.editarsucursal      = true;
                model.idsucursal          = Usuario.idsucursal;
            }


            ViewData["ListaTipoComprobante"]   = MantenimientoData.GetListarValoresxTabla((Int32)Constantes.MaestroTablas.TipoDocumentoCompra);
            ViewData["ListaCondicionReclamo"]  = MantenimientoData.GetListarValoresxTabla((Int32)Constantes.MaestroTablas.CondicionReclamo);
            ViewData["ListaTipoDocumento"]     = MantenimientoData.GetListarValoresxTabla((Int32)Constantes.MaestroTablas.TipoDocumento);
            ViewData["ListaTipoRequerimiento"] = MantenimientoData.GetListarValoresxTabla((Int32)Constantes.MaestroTablas.RequerimientoCliente);

            var direccion        = MantenimientoData.GetListarDireccionesxCliente(10);
            var listadirecciones = new SelectList(direccion, "iddireccion", "direccion");

            ViewData["listadireccion"] = listadirecciones;

            var falla      = new FallaData().listarFalla(null, null);
            var listafalla = new SelectList(falla, "idfalla", "descripcion");

            ViewData["listafalla"] = listafalla;

            var tipoproducto      = new ProductoData().listarTipoProducto();
            var listatipoproducto = new SelectList(
                tipoproducto
                , "idtipoproducto"
                , "nombre"
                );

            ViewData["listatipoproducto"] = listatipoproducto;

            var producto      = new ProductoData().listarProducto("", "", null, null, null, false);
            var listaproducto = new SelectList(producto, "idproducto", "descripcionlarga");

            ViewData["listaproducto"] = listaproducto;

            var fabricante      = new PartnerData().ListarPartner(null, null);
            var listafabricante = new SelectList(
                fabricante
                , "idpartner"
                , "razonsocial"
                );

            ViewData["listafabricante"] = listafabricante;
            var partners      = new PartnerData().ListarPartner(null, null);
            var listapartners = new SelectList(
                partners
                , "idpartner"
                , "razonsocial"
                );

            ViewData["listapartner"] = listapartners;
            var modelAtencion = new EvaluacionModel();

            model.ListaAccesorios = GetListaAccesorios();
            if (model.accesorios != null)
            {
                model.AccesoriosSeleccionados = model.accesorios.Split(',').ToArray();
            }
            ViewData["ListaEstadosFiProducto"] = MantenimientoData.GetListarValoresxTabla(Convert.ToInt32(Constantes.MaestroTablas.TipoDano));

            ViewBag.Base64StringSuperior  = "data:image/png;base64," + Convert.ToBase64String(model.partesuperior, 0, model.partesuperior.Length);
            ViewBag.Base64StringInferior  = "data:image/png;base64," + Convert.ToBase64String(model.parteinferior, 0, model.parteinferior.Length);
            ViewBag.Base64StringDelantera = "data:image/png;base64," + Convert.ToBase64String(model.partedelantera, 0, model.partedelantera.Length);
            ViewBag.Base64StringPosterior = "data:image/png;base64," + Convert.ToBase64String(model.parteposterior, 0, model.parteposterior.Length);
            ViewBag.Base64StringDerecha   = "data:image/png;base64," + Convert.ToBase64String(model.partederecha, 0, model.partederecha.Length);
            ViewBag.Base64StringIzquierda = "data:image/png;base64," + Convert.ToBase64String(model.parteizquierda, 0, model.parteizquierda.Length);


            return(View(model));
        }
Esempio n. 14
0
        public ActionResult VerIncidencia(long idincidencia)
        {
            var model = new IncidenciaData().ObtenerIncidencia(idincidencia);

            model.editar    = false;
            model.direccion = model.direccioncliente;

            var perfiles = Usuario.Perfiles;
            //Validar si es admin
            var autorizar = perfiles.Where(x => x.IdPerfil.Equals
                                               (Convert.ToInt32(Constantes.Perfil.Admin))).SingleOrDefault();

            if (autorizar != null)
            {
                var sucursal      = new SucursalData().ListarSucursal("", "", null);
                var listasucursal = new SelectList(
                    sucursal,
                    "idsucursal",
                    "nombre");
                ViewData["listasucursal"] = listasucursal;
                model.editarsucursal      = true;
                //model.idsucursal = Usuario.idsucursal;
            }
            if (!model.idincidencia.HasValue)
            {
                model.idpartner = Usuario.idpartner;
            }

            ViewData["ListaTipoComprobante"]   = MantenimientoData.GetListarValoresxTabla((Int32)Constantes.MaestroTablas.TipoDocumentoCompra);
            ViewData["ListaCondicionReclamo"]  = MantenimientoData.GetListarValoresxTabla((Int32)Constantes.MaestroTablas.CondicionReclamo);
            ViewData["ListaTipoDocumento"]     = MantenimientoData.GetListarValoresxTabla((Int32)Constantes.MaestroTablas.TipoDocumento);
            ViewData["ListaTipoRequerimiento"] = MantenimientoData.GetListarValoresxTabla((Int32)Constantes.MaestroTablas.RequerimientoCliente);

            var direccion        = MantenimientoData.GetListarDireccionesxCliente(10);
            var listadirecciones = new SelectList(direccion, "iddireccion", "direccion");

            ViewData["listadireccion"] = listadirecciones;

            var falla      = new FallaData().listarFalla(null, null);
            var listafalla = new SelectList(falla, "idfalla", "descripcion");

            ViewData["listafalla"] = listafalla;

            var tipoproducto      = new ProductoData().listarTipoProducto();
            var listatipoproducto = new SelectList(
                tipoproducto
                , "idtipoproducto"
                , "nombre"
                );

            ViewData["listatipoproducto"] = listatipoproducto;

            var producto      = new ProductoData().listarProducto("", "", null, null, null, false);
            var listaproducto = new SelectList(producto, "idproducto", "descripcionlarga");

            ViewData["listaproducto"] = listaproducto;

            var fabricante      = new PartnerData().ListarPartner(null, null);
            var listafabricante = new SelectList(
                fabricante
                , "idpartner"
                , "razonsocial"
                );

            ViewData["listafabricante"] = listafabricante;
            var partners      = new PartnerData().ListarPartner(null, null);
            var listapartners = new SelectList(
                partners
                , "idpartner"
                , "razonsocial"
                );

            ViewData["listapartner"] = listapartners;
            var modelAtencion = new EvaluacionModel();

            if (model.ideva.HasValue)
            {
                model.evaluacionrealizada = true;
            }
            else
            {
                model.evaluacionrealizada = false;
            }

            //if (model.idcoti.HasValue)
            //    model.cotizacionrealizada = true;
            //else
            //    model.cotizacionrealizada = false;

            if (model.incidenciagarantia)
            {
                return(View("IncidenciaGarantia", model));
            }
            else
            {
                return(View("IncidenciaSinGarantia", model));
            }
        }
Esempio n. 15
0
 public long Insertar(IncidenciaModel model)
 {
     return(IncidenciaData.InsertarActualizarIncidencia(model));
 }
Esempio n. 16
0
        public JsonResult AprobarDesaprobarCotizacion(long idcotizacion, string estado, long idordenservicio)
        {
            var model               = new VentaCotizacionModel();
            var modOrdenServicio    = new OrdenServicioData().obtenerOrdenServicio(idordenservicio);
            var modOrdenTrabajo     = new OrdenTrabajoModel();
            var TrabajoDetalleModel = new OrdenTrabajoDetalleModel();

            if (estado == "aprobado")
            {
                modOrdenServicio.idestado = (Int32)Constantes.EstadoOrdenServicio.PendienteInicioReparacion;
                modOrdenServicio.cotizado = true;
                modOrdenTrabajo.idestado  = (Int32)Constantes.EstadoOrdenTrabajo.Asignada;
                model.aceptado            = true;
            }
            else if (estado == "rechazado")
            {
                modOrdenServicio.idestado = (Int32)Constantes.EstadoOrdenServicio.PendienteEntregaCliente;
                modOrdenTrabajo.idestado  = (Int32)Constantes.EstadoOrdenTrabajo.Completada;
                model.aceptado            = false;
            }


            modOrdenServicio.__tipooperacion = 2;
            modOrdenTrabajo.__tipooperacion  = 2;
            model.__tipooperacion            = 2;

            model.idcotizacion = idcotizacion;
            modOrdenServicio.idordenserviciotecnico = idordenservicio;
            modOrdenTrabajo.idordentrabajo          = modOrdenServicio.idordentrabajo;



            new ReparacionesData().InsertarActualizarOrdenTrabajo(modOrdenTrabajo);
            new VentaData().insertarActualizarCotizacion(model);
            new OrdenServicioData().InsertarActualizarOrdenServicio(modOrdenServicio);



            #region registrar reparaciones


            TarifaModel  modTarifa;
            AlmacenModel modAlmacen;

            var usuario = UsuariosData.ObtenerUsuario(16);

            var listadoTotal = VentaData.listarCotizacionDetalle(idordenservicio).ToList();

            foreach (var item in listadoTotal)
            {
                if (item.descripcion != "Repuesto")
                {
                    continue;
                }
                var modRepuesto = new ProductoData().obtenerProducto(item.idproducto);
                modAlmacen = new InventarioData().obtenerAlmacen(Constantes.CodAlmacen.Telecom_Repuestos);
                var existerepuesto = new InventarioData().obtenerInventario(modAlmacen.idalmacen.Value, item.idproducto, 45);

                #region enviomail
                StringBuilder sb = new StringBuilder();
                sb.Append("<table width='100%' cellpadding='0' cellspacing='0' border='0' dir='ltr' style='font-size:16px;background-color:rgb(227,225,225)'>");
                sb.Append("<tbody>");
                sb.Append("<tr>");
                sb.Append("        <td align='center' valign='top' style='margin:0;padding:40'>");
                sb.Append("            <table align='center' border='0' cellspacing='0' cellpadding='0' width='700' bgcolor='#1ab394' style='width:700px;border:1px solid ");
                sb.Append("         transparent; ");
                sb.Append("order-radius:13px;margin:auto;background-color:#18a689'>");
                sb.Append("                <tbody>");
                sb.Append("					<tr>");
                sb.Append("					<td>");
                sb.Append("						<table cellpadding='0' cellspacing='0' border='0' width='100%'>");
                sb.Append("						<tbody>");
                sb.Append("							<tr>");
                sb.Append("							<td valign='top' align='left' style='padding:0px;margin:0px'>");
                sb.Append("								<table cellpadding='0' cellspacing='0' border='0' width='100%'>");
                sb.Append("								<tbody>");
                sb.Append("									<tr>");
                sb.Append("									<td align='left' valign='top'>");
                sb.Append("									<table width='100%' border='0' cellpadding='0' cellspacing='0' align='center'>");
                sb.Append("										<tbody>");
                sb.Append("											<tr>");
                sb.Append("											<td align='left' valign='top' style='font-family:Arial,Helvetica,sans-serif;font-size:20px;border-radius:6px");
                sb.Append("	                                        color:rgb(' sb.Append('55,255,255)'>");
                sb.Append("												<div style='text-align:center'><span style='color:rgb(255,255,255);font-weight:bold'><br></span></div>");
                sb.Append("												<div style='text-align:center'><span style='color:rgb(255,255,255);font-weight:bold'>Smartway - SIR Notificaciones");
                sb.Append("                                             </span></div>");
                sb.Append("												<div style='text-align:center'><span style='color:rgb(255,255,255);font-weight:bold'><br></span></div>");
                sb.Append("												<span style='color:rgb(38,38,38)'></span>");
                sb.Append("											</td>");
                sb.Append("											</tr>");
                sb.Append("										</tbody>");
                sb.Append("									</table>");
                sb.Append("									</td>");
                sb.Append("									</tr>");
                sb.Append("									<tr>");
                sb.Append("									<td>");
                sb.Append("										<table width='100%' border='0' cellpadding='10' cellspacing='10' align='center'  bgcolor='white'>");
                sb.Append("										<tbody>");
                sb.Append("										       <tr>");
                sb.Append("												<td align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38)");
                sb.Append("                                             font-size:12px;background-color:rgb(255,255,255);width:190px '  colspan='4'> ");
                sb.Append("													Sr(a). "+ usuario.usr_str_nombre + ' ' + usuario.usr_str_apellidos + "");
                sb.Append("												</td>");
                sb.Append("											</tr>");
                sb.Append("											<tr>");
                sb.Append("												<td colspan='10' align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);");
                sb.Append("                                         font-size:12px;background-color:rgb(255,255,255);width:190px '  colspan='4'>");
                sb.Append("												   Se le informa que el usuario "+ Usuario.NombreUsuario + " ha realizado una solicitud de respuesto para la reparación de la orden de servicio: " + modOrdenServicio.numeroordenservicio);
                sb.Append("												</td>");
                sb.Append("											</tr>");
                sb.Append("												<tr>");
                sb.Append("												<td colspan='10' align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);");
                sb.Append("                                             font-size:14px;font-weight:bold;background-color:rgb(255,255,255)'  colspan='4'>");
                sb.Append("													<span style='font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38)'>Se ha solicitado el siguiente respuesto.</span> ");
                sb.Append("");
                sb.Append("												</td>");
                sb.Append("											</tr>");
                sb.Append("											<tr>");
                sb.Append("												<td align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);");
                sb.Append("ont-size:12px;background-color:rgb(255,255,255);width:190px'>");
                sb.Append("													"+ modRepuesto.codigoproducto);
                sb.Append("												</td>");
                sb.Append("												<td align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);");
                sb.Append("ont-size:12px;background-color:rgb(255,255,255);width:190px'>");
                sb.Append("												</td>");
                sb.Append("												<td align='left' valign='top' style='padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);");
                sb.Append("ont-size:12px;background-color:rgb(255,255,255);width:190px'>");
                sb.Append("													"+ modRepuesto.descripcionlarga);
                sb.Append("												</td>");
                //sb.Append("                                            < td align = 'left' valign = 'top' style = 'padding:10px;font-family:Arial,Helvetica,sans-serif;color:rgb(38,38,38);");
                //sb.Append("ont-size:12px;background-color:rgb(255,255,255);width:190px'>");
                //sb.Append("													" + existerepuesto == null ? "" : existerepuesto.serie);
                sb.Append("												</td>");
                sb.Append("											</tr>");
                sb.Append("									");
                sb.Append("											");
                sb.Append("										</tbody>");
                sb.Append("										");
                sb.Append("										</table>");
                sb.Append("									</td>");
                sb.Append("									</tr>");
                sb.Append("									<tr>");
                sb.Append("									<td>");
                sb.Append("										");
                sb.Append("						</tbody>");
                sb.Append("						</table>");
                sb.Append("					</td>");
                sb.Append("					</tr>");
                sb.Append("				</tbody>");
                sb.Append("			</table>");
                sb.Append("        </td>");
                sb.Append("    </tr>");
                sb.Append("</tbody>");
                sb.Append("</table>");
                #endregion

                bool correo = MailHelper.EnviarMail(usuario.usr_str_email, "[Se ha solicitado un repuesto de almacén]", sb.ToString(), true);


                if (existerepuesto == null)
                {
                }
                else if (existerepuesto.cantidad == 0)
                {
                    // NO se notifica
                }
                else
                {
                    existerepuesto.cantidad = existerepuesto.cantidad - 1;
                    if (existerepuesto.serie != null || existerepuesto.imei != null)
                    {
                        if (existerepuesto.serie != "" || existerepuesto.imei != "")
                        {
                            existerepuesto.idestado = (Int32)Constantes.Producto.NoDisponible;
                        }
                        else
                        {
                            existerepuesto.idestado = (Int32)Constantes.Producto.Disponible;
                        }
                    }
                    else
                    {
                        existerepuesto.idestado = (Int32)Constantes.Producto.Disponible;
                    }

                    existerepuesto.__idoperacion = 2;

                    new InventarioData().InsertarActualizarInventario(existerepuesto);
                }


                var diagnostico = new DiagnosticoData().listarDiagnostico(null, null, null, null, item.iddiagnostico).FirstOrDefault();

                var aux = new ReparacionData().listarReparacion(null
                                                                , null, item.idreparacion).ToList();


                var modReparacion = aux.Where(x => x.idreparacion.Value.Equals(item.idreparacion)).FirstOrDefault();


                var modIncidencia = new IncidenciaData().ObtenerIncidencia(modOrdenServicio.idincidencia.Value);

                modTarifa = new AgendamientoData().calcularTarifa(
                    modIncidencia.idtipoproducto
                    , modReparacion.idnivelreparacion
                    , modIncidencia.idpartner);


                TrabajoDetalleModel                = new OrdenTrabajoDetalleModel();
                TrabajoDetalleModel.activo         = true;
                TrabajoDetalleModel.costo          = modRepuesto.costounitario;
                TrabajoDetalleModel.diagnostico    = diagnostico.descripcion;
                TrabajoDetalleModel.reparacion     = modReparacion.descripcion;
                TrabajoDetalleModel.repuesto       = modRepuesto.descripcionlarga;
                TrabajoDetalleModel.iddiagnostico  = item.iddiagnostico;
                TrabajoDetalleModel.idrepuesto     = item.idproducto;
                TrabajoDetalleModel.idreparacion   = item.idreparacion;
                TrabajoDetalleModel.costo          = modRepuesto.costounitario;
                TrabajoDetalleModel.descripcion    = "Repuesto";
                TrabajoDetalleModel.idordentrabajo = modOrdenServicio.idordentrabajo.Value;
                TrabajoDetalleModel.__idoperacion  = 1;
                TrabajoDetalleModel.servicio       = false;
                if (existerepuesto != null)
                {
                    TrabajoDetalleModel.idinventario = existerepuesto.idinventario;
                }
                var asociado = new ReparacionesData().InsertarActualizarOrdenTrabajoDetalle(TrabajoDetalleModel);



                if (modTarifa != null)
                {
                    TrabajoDetalleModel                    = new OrdenTrabajoDetalleModel();
                    TrabajoDetalleModel.activo             = true;
                    TrabajoDetalleModel.costo              = modTarifa.costo.Value;
                    TrabajoDetalleModel.diagnostico        = diagnostico.descripcion;
                    TrabajoDetalleModel.reparacion         = modReparacion.nivelreparacion;
                    TrabajoDetalleModel.repuesto           = "";
                    TrabajoDetalleModel.iddiagnostico      = item.iddiagnostico;
                    TrabajoDetalleModel.idrepuesto         = item.idrepuesto;
                    TrabajoDetalleModel.idreparacion       = item.idreparacion;
                    TrabajoDetalleModel.descripcion        = modReparacion.nivelreparacion;
                    TrabajoDetalleModel.idordentrabajo     = modOrdenServicio.idordentrabajo.Value;
                    TrabajoDetalleModel.servicio           = true;
                    TrabajoDetalleModel.idservicioasociado = asociado;
                    TrabajoDetalleModel.__idoperacion      = 1;
                    new ReparacionesData().InsertarActualizarOrdenTrabajoDetalle(TrabajoDetalleModel);
                }
            }



            //  return Json(new { res = true });



            #endregion



            return(Json(new { res = true }));
        }
        public HtmlString BuildRoot(long?idincidencia)
        {
            if (idincidencia.HasValue)
            {
                var model = new IncidenciaData().ObtenerIncidencia(idincidencia.Value);

                var Navtag = new TagBuilder("nav");
                Navtag.AddCssClass("navbar navbar");

                var Divtag = new TagBuilder("div");
                Divtag.AddCssClass("container-fluid");


                var tag = new TagBuilder("ol");
                tag.AddCssClass("nav navbar-nav");


                var itemTag = construir_li("MenuIncidencia", "Ver Incidencia", "Agendamiento", "VerIncidencia", idincidencia.ToString(), false, true);
                tag.InnerHtml += itemTag.ToString();



                if (model.idetapa == 1)
                {
                    if (model.requiereevaluacion)
                    {
                        var itemTag2 = construir_li("MenuEvaluacion", "Evaluación de Garantía", "Evaluacion", "AtencionEvaluacion", idincidencia.ToString(), true, true);
                        tag.InnerHtml += itemTag2.ToString();

                        var itemTab3 = construir_li("MenuPropuesta", "Propuesta", "Propuesta", "Propuesta", idincidencia.ToString(), true, false);
                        tag.InnerHtml += itemTab3.ToString();

                        var itemTag5 = construir_li("MenuEstadoFisico", "Estado Físico", "Agendamiento", "EstadoFisico", idincidencia.ToString(), true, false);
                        tag.InnerHtml += itemTag5.ToString();
                    }
                    else
                    {
                        var itemTab3 = construir_li("MenuPropuesta", "Propuesta", "Propuesta", "Propuesta?idincidencia=", idincidencia.ToString(), true, true);
                        tag.InnerHtml += itemTab3.ToString();

                        var itemTag5 = construir_li("MenuEstadoFisico", "Estado Físico", "Agendamiento", "EstadoFisico", idincidencia.ToString(), true, false);
                        tag.InnerHtml += itemTag5.ToString();
                    }
                }
                else if (model.idetapa == 2)
                {
                    if (model.requiereevaluacion)
                    {
                        var itemTag2 = construir_li("MenuEvaluacion", "Evaluación de Garantía", "Evaluacion", "AtencionEvaluacion", idincidencia.ToString(), false, true);
                        tag.InnerHtml += itemTag2.ToString();
                    }

                    var itemTab3 = construir_li("MenuPropuesta", "Propuesta", "Propuesta", "Propuesta", idincidencia.ToString(), true, true);
                    tag.InnerHtml += itemTab3.ToString();

                    //var itemTag4 = construir_li("MenuCotizar", "Cotizacion", "/Agendamiento/Cotizacion/CotizarIncidencia?idincidencia=" + idincidencia, true, false);
                    //tag.InnerHtml += itemTag4.ToString();
                    var itemTag5 = construir_li("MenuEstadoFisico", "Estado Físico", "Agendamiento", "EstadoFisico", idincidencia.ToString(), true, false);
                    tag.InnerHtml += itemTag5.ToString();
                }
                else if (model.idetapa == 3)
                {
                    if (model.requiereevaluacion)
                    {
                        var itemTag2 = construir_li("MenuEvaluacion", "Evaluación de Garantía", "Evaluacion", "AtencionEvaluacion", idincidencia.ToString(), false, true);
                        tag.InnerHtml += itemTag2.ToString();
                    }

                    var itemTab3 = construir_li("MenuPropuesta", "Propuesta", "Propuesta", "Propuesta", idincidencia.ToString(), false, true);
                    tag.InnerHtml += itemTab3.ToString();

                    //var itemTag4 = construir_li("MenuCotizar", "Cotizacion", "/Agendamiento/Cotizacion/CotizarIncidencia?idincidencia=" + idincidencia, true, true);
                    //tag.InnerHtml += itemTag4.ToString();
                    var itemTag5 = construir_li("MenuEstadoFisico", "Estado Físico", "Agendamiento", "EstadoFisico", idincidencia.ToString(), true, true);
                    tag.InnerHtml += itemTag5.ToString();
                }
                else if (model.idetapa == 4)
                {
                    if (model.requiereevaluacion)
                    {
                        var itemTag2 = construir_li("MenuEvaluacion", "Evaluación de Garantía", "Evaluacion", "AtencionEvaluacion", idincidencia.ToString(), false, true);
                        tag.InnerHtml += itemTag2.ToString();
                    }

                    var itemTab3 = construir_li("MenuPropuesta", "Propuesta", "Propuesta", "Propuesta", idincidencia.ToString(), false, true);
                    tag.InnerHtml += itemTab3.ToString();

                    //var itemTag4 = construir_li("MenuCotizar", "Cotizacion", "/Agendamiento/Cotizacion/CotizarIncidencia?idincidencia=" + idincidencia, false, true);
                    //tag.InnerHtml += itemTag4.ToString();

                    var itemTag5 = construir_li("MenuEstadoFisico", "Estado Físico", "Agendamiento", "EstadoFisico", idincidencia.ToString(), false, true);
                    tag.InnerHtml += itemTag5.ToString();
                }


                Divtag.InnerHtml += tag.ToString();
                Navtag.InnerHtml += Divtag.ToString();

                return(new MvcHtmlString(Navtag.ToString()));
            }
            else
            {
                var tag = new TagBuilder("ul");
                tag.Attributes.Add("id", "ulestado");
                tag.AddCssClass("nav nav-pills nav-stacked");


                var itemTag = new TagBuilder("li");
                var linkTag = new TagBuilder("a");
                linkTag.InnerHtml = "Ver Incidencia" + " <span class='badge'>" + "Activo" + "</span>";
                //linkTag.Attributes.Add("href", @Url.Action("VerIncidencia", "Agendamiento", new { idincidencia = @Model.idincidencia }", 1));

                itemTag.Attributes.Add("id", "MenuIncidencia");

                itemTag.InnerHtml = linkTag.ToString();
                tag.InnerHtml    += itemTag.ToString();
                return(new MvcHtmlString(tag.ToString()));
            }
        }
Esempio n. 18
0
        public JsonResult realizarEvaluacion(EvaluacionModel modelo)
        {
            var dataIncidencia = new IncidenciaData();
            var modevaluacion  = new EvaluacionModel();
            List <PropuestaModel> propuestas = new List <PropuestaModel>();

            var modIncidencia    = dataIncidencia.ObtenerIncidencia(modelo.idincidencia.Value);
            var ListaCondiciones = dataIncidencia.ListarCondiciones(modIncidencia.idtipoproducto, modIncidencia.idfabricante).ToList();


            modelo.Evaluacion = true;

            //new AgendamientoData().eliminarEvaluacionPrevia(modelo.idincidencia);

            foreach (var item in modelo.ListaCondiciones)
            {
                var res = false;
                if (item.activo == null)
                {
                    return(Json(res));
                }


                modevaluacion.idincidencia      = modelo.idincidencia;
                modevaluacion.idcondicion       = item.idcondicion;
                modevaluacion.valor             = item.activo.Value;
                modevaluacion.idusuarioregistro = Usuario.Idusuario;
                modevaluacion.fechahoraregistro = DateTime.Now;


                new AgendamientoData().insertarIncidenciaEvaluacion(modevaluacion);

                //modevaluacion = new EvaluacionModel();

                var comparer = ListaCondiciones.Where(x => x.idcondicion.Equals(item.idcondicion)).Single().valor;

                if (!item.activo.Value == comparer)
                {
                    modelo.Evaluacion = false;
                }
            }


            modIncidencia.__tipooperacion = 2;
            if (!modelo.Evaluacion)
            {
                modIncidencia.engarantia = false;
            }
            else
            {
                modIncidencia.engarantia = true;
            }
            modIncidencia.idetapa = (Int32)Constantes.Etapa.Evaluacion;

            new IncidenciaData().insertarActualizarIncidencia(modIncidencia);

            //var listadopropuesta = new SelectList(
            //    propuestas, "idpropuesta", "descripcion");
            //ViewData["ListaPropuestasEvaluacion"] = listadopropuesta;


            return(Json(new { res = true }));
            //PartialView("_EvaluacionIncidencia", modelo);
        }
        public ActionResult Propuesta(long idincidencia)
        {
            var modeloSolucion = new SolucionModel();
            var dataIncidencia = new IncidenciaData();
            List <PropuestaModel> propuestas = new List <PropuestaModel>();

            var modIncidencia = dataIncidencia.ObtenerIncidencia(idincidencia);

            propuestas = new IncidenciaData().listarPropuestaSolucion((int)Constantes.TipoGarantia.SinGarantia).ToList();

            modeloSolucion.idincidencia       = modIncidencia.idincidencia;
            modeloSolucion.anioincidencia     = modIncidencia.anioincidencia;
            modeloSolucion.numeroincidencia   = modIncidencia.numeroincidencia;
            modeloSolucion.requiereevaluacion = modIncidencia.requiereevaluacion;
            modeloSolucion.evaluacion         = modIncidencia.evaluacionrealizada;
            modeloSolucion.falla                  = modIncidencia.falla;
            modeloSolucion.producto               = modIncidencia.producto;
            modeloSolucion.requerimientocliente   = modIncidencia.requerimientocliente;
            modeloSolucion.codigoproducto         = modIncidencia.codigoproducto;
            modeloSolucion.idrequerimientocliente = modIncidencia.idrequerimientocliente;
            modeloSolucion.incidenciagarantia     = modIncidencia.incidenciagarantia;
            modeloSolucion.idordenserviciotecnico = modIncidencia.idordenserviciotecnico;


            modeloSolucion.idpropuesta          = modIncidencia.idpropuesta;
            modeloSolucion.idincidenciasolucion = modIncidencia.idincidenciasolucion;

            if (modIncidencia.engarantia)
            {
                if (modIncidencia.idtipogarantia == (Int32)(Constantes.TipoGarantia.Cliente))
                {
                    modeloSolucion.garantia = "Con garantía de Cliente";
                }
                else if (modIncidencia.idtipogarantia == (Int32)(Constantes.TipoGarantia.DAP))
                {
                    modeloSolucion.garantia = "Con garantía DAP";
                }
                else if (modIncidencia.idtipogarantia == (Int32)(Constantes.TipoGarantia.SinGarantia))
                {
                    modeloSolucion.garantia = "Fuera de Garantía";
                }
            }
            else
            {
                modeloSolucion.garantia = "Fuera de Garantía";
            }
            //if (modelo.Evaluacion)
            //{
            if (modIncidencia.engarantia)
            {
                propuestas = new IncidenciaData().listarPropuestaSolucion(modIncidencia.idtipogarantia.Value).ToList();
                modeloSolucion.resultadoevaluacion = "Procede por políticas de garantía";
                modeloSolucion.engarantia          = true;
            }
            else
            {
                propuestas = new IncidenciaData().listarPropuestaSolucion((int)Constantes.TipoGarantia.SinGarantia).ToList();
                modeloSolucion.resultadoevaluacion = "El equipo no está dentro de la garantía.";
                modeloSolucion.engarantia          = false;;
            }
            //}
            //else
            //{
            //    propuestas = new IncidenciaData().listarPropuestaSolucion((int)Constantes.TipoGarantia.SinGarantia).ToList();
            //    modelo.ResultadoEvaluacion = "No procede por políticas de garantía.";
            //    modelo.engarantia = false; ;
            //}



            var listadopropuesta = new SelectList(
                propuestas, "idpropuesta", "descripcion");

            ViewData["ListaEstadosPropuestas"] = listadopropuesta;

            modeloSolucion.observacion = modIncidencia.observacionsolucion;
            //   modeloSolucion.idincidenciasolucion = modIncidencia.idincidenciasolucion;

            ViewData["ListaPropuestasEvaluacion"] = listadopropuesta;

            return(View(modeloSolucion));
        }
        public JsonResult RegistrarPropuesta(SolucionModel model)
        {
            //obtener propuesta individual (genera documentos)
            var propuesta = new AgendamientoData().obtenerPropuesta(model.idpropuesta.Value);
            //registrar propuesta  en incidencia

            var modelincidencia = new IncidenciaModel();

            modelincidencia.idincidencia = model.idincidencia;
            modelincidencia.engarantia   = model.engarantia;



            //var model = new SolucionModel();
            model.fechahoraregistro = DateTime.Now;
            model.idusuarioregistro = Usuario.Idusuario;
            model.clientesatisfecho = true;



            if (propuesta.requiereaprobacion)
            {
                model.idestado = (Int32)Constantes.SolucionIncidentes.PendienteAprobacion;
                //enviar correo
            }
            else if (propuesta.idpropuesta == (int)Constantes.Propuesta.rechazada)
            {
                var modIncidencia = new IncidenciaData().ObtenerIncidencia(model.idincidencia.Value);
                modIncidencia.__tipooperacion = 3;// cambiar estado
                modIncidencia.idestado        = (int)(Constantes.EstadoIncidencia.Cerrada);

                var result = new IncidenciaData().insertarActualizarIncidencia(modIncidencia);

                model.idestado = (Int32)Constantes.SolucionIncidentes.Rechazada;
            }
            else
            {
                model.idestado = (Int32)Constantes.SolucionIncidentes.Aprobada;
            }

            model.idpropuesta = model.idpropuesta;



            var idincidenciasolucion = new AgendamientoData().insertarIncidenciaSolucion(model);

            if (idincidenciasolucion > 0)
            {
                modelincidencia.__tipooperacion = 3; //Propuesta Solucion
                modelincidencia.idetapa         = (Int32)Constantes.Etapa.Propuesta;

                new IncidenciaData().insertarActualizarIncidencia(modelincidencia);

                if (propuesta.requierecotizacion)
                {
                    return(Json(new { res = true, cotizacion = true, idincidencia = (model.idincidencia.Value) }));
                }
            }


            return(Json(new { res = true, finalizar = true }));
        }
Esempio n. 21
0
        public bool  ActualizarIncidencias(Collection <Incidencia> incidencias)
        {
            ICollectionWrite <Incidencia> writer = new IncidenciaData();

            return(writer.WriteCollection(incidencias));
        }