Пример #1
0
        public override void Start()
        {
            using (ISession Sesion = m_SessionFactory.OpenSession())
            {
                using (ITransaction Trans = Sesion.BeginTransaction())
                {
                    try
                    {
                        Auditoria           Auditoria = Auditoria.ConstruirAuditoria(base.m_ObjectFlow, "Modificación");
                        SolicitudCotizacion cp        = (SolicitudCotizacion)m_ObjectFlow;

                        SolicitudCotizacion cpactual = (SolicitudCotizacion)HelperNHibernate.GetEntityByID("SolicitudCotizacion", cp.ID);

                        if (cpactual.EstadoAprobacion.Equals("PENDIENTE"))
                        {
                            Sesion.Update(cp);
                            Sesion.Save(Auditoria);
                            Trans.Commit();
                            m_ResultProcess = EnumResult.SUCESS;
                        }
                        else
                        {
                            throw new Exception("Estado " + cpactual.EstadoAprobacion + " del documento no permite modificaciones");
                        }
                    }
                    catch (Exception ex)
                    {
                        Trans.Rollback();
                        m_ResultProcess = EnumResult.ERROR;
                        SoftException.Control(ex);
                    }
                }
            }
            base.Start();
        }
Пример #2
0
        public ActionResult EliminarSolicitudCotizacion(int id)
        {
            if (Session["Rol"] == null)
            {
                return(Json(new
                {
                    exito = false,
                    mensaje = "La sesión ha terminado."
                }, JsonRequestBehavior.AllowGet));
            }

            if (Session["Rol"] == null)
            {
                return(RedirectToAction("IniciarSesion", "Login"));
            }

            if (Session["TiendaId"] == null)
            {
                return(RedirectToAction("IniciarSesion", "Login"));
            }

            SolicitudCotizacion.EliminarSolicitud(db, id);

            return(Json(new
            {
                exito = true,
                mensaje = "Eliminación exitosa."
            }, JsonRequestBehavior.AllowGet));
        }
        public override void  Start()
        {
            try
            {
                Plantilla           Plantilla = (Plantilla)base.m_ObjectFlow;
                SolicitudCotizacion Solicitud = new SolicitudCotizacion();
                Solicitud.Cantidad        = 1;
                Solicitud.Descripcion     = Plantilla.Nombre;
                Solicitud.TipoDocumento   = (TipoSolicitudCotizacion)HelperNHibernate.GetEntityByID("TipoSolicitudCotizacion", "B8AA5B25-9180-44A6-B750-F96D1EA17147");
                Solicitud.Observacion     = "";
                Solicitud.LineaProduccion = Plantilla.LineaProduccion;
                foreach (ItemPlantilla Item in Plantilla.Items)
                {
                    ItemSolicitudCotizacion ItemSolicitud = Solicitud.AddItem();
                    ItemSolicitud.Nombre = Item.Nombre;

                    if (Item.TipoUnidad != null)
                    {
                        ItemSolicitud.TipoUnidad = Item.TipoUnidad.Nombre;
                    }
                    ItemSolicitud.Operacion           = Item.Operacion;
                    ItemSolicitud.Material            = Item.Material;
                    ItemSolicitud.m_FiltroMaquina     = Item.ObtenerFiltroMaquinas();
                    ItemSolicitud.TieneMedidaAbierta  = Item.TieneMedidaAbierta;
                    ItemSolicitud.TieneMedidaCerrada  = Item.TieneMedidaCerrada;
                    ItemSolicitud.TieneTiraRetira     = Item.TieneTiraRetira;
                    ItemSolicitud.TieneGraficos       = Item.TieneGraficos;
                    ItemSolicitud.TieneMaquina        = Item.TieneMaquina;
                    ItemSolicitud.TieneMaterial       = Item.TieneMaterial;
                    ItemSolicitud.TieneTipoUnidad     = Item.TieneTipoUnidad;
                    ItemSolicitud.UnidadMedidaAbierta = Item.UnidadMedidaAbierta;
                    ItemSolicitud.TieneFondo          = Item.TieneFondo;

                    foreach (ItemPlantillaServicio ItemServicio in Item.Servicios)
                    {
                        ItemSolicitudCotizacionServicio ItemSolicitudSerivcio = ItemSolicitud.AddServicio();
                        ItemSolicitudSerivcio.Servicio        = ItemServicio.Servicio;
                        ItemSolicitudSerivcio.Unidad          = ItemServicio.Unidad;
                        ItemSolicitudSerivcio.CantidadInicial = ItemServicio.Cantidad;
                        ItemSolicitudSerivcio.CantidadFinal   = ItemServicio.Cantidad;
                    }
                }
                base.m_ObjectFlow    = Solicitud;
                base.m_EntidadSF     = (EntidadSF)HelperNHibernate.GetEntityByID("EntidadSF", "1DEDB5BA-376B-41CE-9923-29B6CF61B9E6");
                base.m_ResultProcess = EnumResult.SUCESS;
            }
            catch (Exception)
            {
                base.m_ResultProcess = EnumResult.ERROR;
            }
            base.Start();
        }
Пример #4
0
        public ActionResult DetallesSolicitudCotizacion(int id)
        {
            if (Session["Rol"] == null)
            {
                return(RedirectToAction("IniciarSesion", "Login"));
            }

            if (Session["TiendaId"] == null)
            {
                return(RedirectToAction("IniciarSesion", "Login"));
            }

            SolicitudCotizacion solicitudCotizacion = db.SolicitudCotizacion.Where(s => s.Id == id).FirstOrDefault();

            return(View(solicitudCotizacion));
        }
Пример #5
0
        public ActionResult ProgramarCitas(int idCotizacion)
        {
            if (Session["Rol"] == null)
            {
                return(RedirectToAction("IniciarSesion", "Login"));
            }

            if (Session["TiendaId"] == null)
            {
                return(RedirectToAction("IniciarSesion", "Login"));
            }

            int    idTienda = (int)Session["TiendaId"];
            Tienda tienda   = db.Tienda.Find(idTienda);

            SolicitudCotizacion cotizacion = db.SolicitudCotizacion.Where(c => c.Id == idCotizacion).FirstOrDefault();

            //Cotizacion cotizacion = db.Cotizacions.Where(c => c.Id == idCotizacion).FirstOrDefault();

            return(View(cotizacion));
        }
Пример #6
0
        public virtual void IniciarSolicitud(SolicitudCotizacion Solicitud)
        {
            FrmSolicitudCotizacion FrmSolicitud = new FrmSolicitudCotizacion();

            FrmSolicitud.m_ObjectFlow = Solicitud;
            FrmSolicitud.m_Modal      = true;
            FrmSolicitud.m_EntidadSF  = (EntidadSF)HelperNHibernate.GetEntityByID("EntidadSF", "1DEDB5BA-376B-41CE-9923-29B6CF61B9E6");
            FrmSolicitud.Start();
            if (FrmSolicitud.m_ResultProcess == EnumResult.SUCESS)
            {
                //    CreateEntity Crear = new CreateEntity();
                //    Crear.m_ObjectFlow = FrmSolicitud.m_ObjectFlow;
                //    Crear.Start();
                CrearSolicitudCotizacion cp = new CrearSolicitudCotizacion();
                cp.m_ObjectFlow = FrmSolicitud.m_ObjectFlow;
                cp.Start();


                FrmMain.RefreshView();
            }
        }
Пример #7
0
        public bool SolicitarCotizacion(List <Servicio> servicios, int idTienda, string marca, string modelo, int year, string comentario)
        {
            if (Session["Rol"] == null)
            {
                RedirectToAction("IniciarSesion", "Login");
            }
            if (Session["Id"] == null)
            {
                RedirectToAction("IniciarSesion", "Login");
            }

            int     usuarioId = (int)Session["Id"];
            Usuario usuario   = db.Usuarios.Where(u => u.Id == usuarioId).FirstOrDefault();
            //Servicio servicio = db.Servicios.Where(u => u.Id == servicioId).FirstOrDefault();

            Vehiculo vehiculo = Vehiculo.CrearVehiculo(db, marca, modelo, year);

            SolicitudCotizacion.CrearSolicitud(db, servicios, usuario, idTienda, vehiculo, comentario);

            return(true);
        }
Пример #8
0
 private void ubGenerarSolicitudCotizacion_Click(object sender, EventArgs e)
 {
     try
     {
         GenerarSolicitudDesdePlantilla Generacion = new GenerarSolicitudDesdePlantilla();
         Generacion.m_ObjectFlow = HelperNHibernate.GetEntityByID("Plantilla", InfoAsistente.Plantilla.ID);
         Generacion.Start();
         SolicitudCotizacion Solicitud = (SolicitudCotizacion)Generacion.m_ObjectFlow;
         Solicitud.Cliente       = InfoAsistente.Cliente;
         Solicitud.TipoDocumento = (TipoDocumento)HelperNHibernate.GetEntityByID("TipoSolicitudCotizacion", InfoAsistente.TipoDocumento.ID);
         Solicitud.Moneda        = InfoAsistente.Moneda;
         //Solicitud.FechaCreacion = InfoAsistente.FechaCreacion;
         Solicitud.CodigoGrupo      = InfoAsistente.CodigoGrupo;
         Solicitud.Contacto         = InfoAsistente.Contacto;
         Solicitud.ModalidadCredito = InfoAsistente.ModalidadCredito;
         Solicitud.Responsable      = InfoAsistente.Responsable;
         IniciarSolicitud(Solicitud);
     }
     catch (Exception ex)
     {
         SoftException.Control(ex);
     }
 }
        public Cotizacion CompletarCotizacionConSolicitud(int solicitudId, Cotizacion cotizacion)
        {
            SolicitudCotizacion solicitudCotizacion = db.SolicitudCotizacion.Where(s => s.Id == solicitudId).FirstOrDefault();

            cotizacion.ServiciosCotizados = new List <ServicioCotizado>();

            foreach (ServicioSolicitadoCotizacion servicioSolicitado in solicitudCotizacion.ServiciosSolicitadosCotizacion)
            {
                ServicioCotizado servicioCotizado = new ServicioCotizado();
                servicioCotizado.Servicio   = servicioSolicitado.Servicio;
                servicioCotizado.Valor      = servicioSolicitado.Servicio.Precio;
                servicioCotizado.ValorTotal = servicioSolicitado.Servicio.Precio;

                cotizacion.ServiciosCotizados.Add(servicioCotizado);
            }

            //cotizacion.ServiciosCotizados = solicitudCotizacion.Servicios;
            cotizacion.Usuario = solicitudCotizacion.Usuario;
            cotizacion.Codigo  = "COT_EJEMPLO_1";

            //Asociar Vehículo a Cotización
            cotizacion.Vehiculos = new List <Vehiculo>();
            cotizacion.Vehiculos.Add(solicitudCotizacion.Vehiculos.First());

            foreach (ServicioSolicitadoCotizacion servicioSolicitado in solicitudCotizacion.ServiciosSolicitadosCotizacion)
            {
                cotizacion.TotalNeto += servicioSolicitado.Servicio.Precio;
            }

            cotizacion.IVA         = cotizacion.TotalNeto * 19 / 100;
            cotizacion.TotalAPagar = cotizacion.TotalNeto + cotizacion.IVA;

            cotizacion.SolicitudCotizacion = solicitudCotizacion;

            return(cotizacion);
        }
 public override void Start()
 {
     using (ISession Sesion = m_SessionFactory.OpenSession())
     {
         using (ITransaction Trans = Sesion.BeginTransaction())
         {
             try
             {
                 SolicitudCotizacion SolicitudCotizacion = (SolicitudCotizacion)m_ObjectFlow;
                 SolicitudCotizacion.Numeracion       = "";
                 SolicitudCotizacion.EstadoAprobacion = "";
                 SolicitudCotizacion.EstadoCotizacion = "";
                 SolicitudCotizacion.FechaCreacion    = DateTime.Now;
                 m_ResultProcess = EnumResult.SUCESS;
             }
             catch (Exception ex)
             {
                 m_ResultProcess = EnumResult.ERROR;
                 SoftException.Control(ex);
             }
         }
     }
     base.Start();
 }
Пример #11
0
 public void Add(SolicitudCotizacion cotizacion)
 {
     this.cotizacion.Add(cotizacion);
     NotifyDataSetChanged();
 }
        public static ISolicitudCotizacion GetSolicitudCotizacion()
        {
            SolicitudCotizacion solicitudCotizacion = new SolicitudCotizacion();

            return((ISolicitudCotizacion)solicitudCotizacion);
        }
Пример #13
0
 public void Add(SolicitudCotizacion solicitud, string descripcion)
 {
     SolicitudArticulo.Add(solicitud);
     this.descripcion = descripcion;
     this.NotifyDataSetChanged();
 }
        public override void  Start()
        {
            try
            {
                SolicitudCotizacion SolicitudCotizacion = (SolicitudCotizacion)base.m_ObjectFlow;
                if (!SolicitudCotizacion.EstadoAprobacion.Equals("APROBADO"))
                {
                    throw new Exception(String.Format("La Solicitud de Cotización Nº : {0} no está APROBADO", SolicitudCotizacion.Numeracion));
                }
                if (!SolicitudCotizacion.EstadoCotizacion.Equals("PENDIENTE"))
                {
                    throw new Exception(String.Format("La Solicitud de Cotización Nº : {0} ya tiene una Cotizacion", SolicitudCotizacion.Numeracion));
                }

                Cotizacion Cotizacion = new Cotizacion();
                Cotizacion.Cantidad         = 1;
                Cotizacion.Descripcion      = SolicitudCotizacion.Descripcion;
                Cotizacion.Cantidad         = SolicitudCotizacion.Cantidad;
                Cotizacion.Cliente          = SolicitudCotizacion.Cliente;
                Cotizacion.ModalidadCredito = SolicitudCotizacion.ModalidadCredito;
                Cotizacion.TipoDocumento    = (TipoCotizacion)HelperNHibernate.GetEntityByID("TipoCotizacion", "B8AA5B25-9180-44A6-B750-F96D1EA17147");
                Cotizacion.Contacto         = SolicitudCotizacion.Contacto;
                Cotizacion.Vendedor         = SolicitudCotizacion.Responsable;
                Cotizacion.Observacion      = SolicitudCotizacion.Observacion;
                Cotizacion.Moneda           = SolicitudCotizacion.Moneda;

                if (Cotizacion.Moneda != null)
                {
                    if (Cotizacion.Moneda.Simbolo.Equals("US $"))
                    {
                        String      filtro = "IDMoneda='" + Cotizacion.Moneda.ID + "' and Fecha='" + Cotizacion.FechaCreacion.ToShortDateString() + "'";
                        XmlDocument XML    = HelperNHibernate.ExecuteSQL("SELECT TipoCambioVenta FROM vSF_TipoCambio", filtro);
                        if (XML.HasChildNodes && XML.DocumentElement.ChildNodes.Count > 0)
                        {
                            Cotizacion.TipoCambioFecha = Convert.ToDecimal(XML.DocumentElement.ChildNodes[0].SelectSingleNode("@TipoCambioVenta").Value);
                        }
                        else
                        {
                            throw new Exception("No hay tipo de cambio registrado a la fecha : " + Cotizacion.FechaCreacion.ToShortDateString());
                        }
                    }
                    else
                    {
                        Cotizacion.TipoCambioFecha = 1;
                    }
                }

                Cotizacion.IDSolicitudCotizacion = SolicitudCotizacion.ID;
                Cotizacion.LineaProduccion       = SolicitudCotizacion.LineaProduccion;

                foreach (ItemSolicitudCotizacion Item in SolicitudCotizacion.Items)
                {
                    ItemCotizacion ItemCotizacion = Cotizacion.AddItem();

                    ItemCotizacion.Nombre           = Item.Nombre;
                    ItemCotizacion.MedidaAnchoCaja  = Item.MedidaAnchoCaja;
                    ItemCotizacion.Cantidad         = 1;
                    ItemCotizacion.CantidadUnidad   = Item.Cantidad;
                    ItemCotizacion.CantidadElemento = Item.CantidadItem;
                    ItemCotizacion.Operacion        = Item.Operacion;
                    ItemCotizacion.Maquina          = Item.Maquina;

                    if (ItemCotizacion.Maquina != null)
                    {
                        ItemCotizacion.FormatoImpresionAlto  = ItemCotizacion.Maquina.PliegoAltoMaximo;
                        ItemCotizacion.FormatoImpresionLargo = ItemCotizacion.Maquina.PliegoAnchoMaximo;
                    }
                    ItemCotizacion.TieneFondo         = Item.TieneFondo;
                    ItemCotizacion.TipoUnidad         = Item.TipoUnidad;
                    ItemCotizacion.Material           = Item.Material;
                    ItemCotizacion.ImpresoRetiraColor = Item.ImpresoRetiraColor;
                    ItemCotizacion.ImpresoTiraColor   = Item.ImpresoTiraColor;
                    ItemCotizacion.MedidaAbiertaAlto  = Item.MedidaAbiertaAlto;
                    ItemCotizacion.MedidaAbiertaLargo = Item.MedidaAbiertaLargo;
                    ItemCotizacion.MedidaCerradaAlto  = Item.MedidaCerradaAlto;
                    ItemCotizacion.MedidaCerradaLargo = Item.MedidaCerradaLargo;
                    ItemCotizacion.TieneMedidaAbierta = Item.TieneMedidaAbierta;
                    ItemCotizacion.TieneMedidaCerrada = Item.TieneMedidaCerrada;
                    ItemCotizacion.TieneTiraRetira    = Item.TieneTiraRetira;
                    ItemCotizacion.TieneGraficos      = Item.TieneGraficos;
                    ItemCotizacion.TieneMaquina       = Item.TieneMaquina;
                    ItemCotizacion.TieneMaterial      = Item.TieneMaterial;

                    ItemCotizacion.TieneTipoUnidad     = Item.TieneTipoUnidad;
                    ItemCotizacion.UnidadMedidaAbierta = Item.UnidadMedidaAbierta;
                    ItemCotizacion.CantidadUnidad      = Item.CantidadUnidad;
                    foreach (ItemSolicitudCotizacionServicio ItemServicio in Item.Servicios)
                    {
                        ItemCotizacionServicio ItemCotizacionServicio = ItemCotizacion.AddServicio();
                        ItemCotizacionServicio.Servicio = ItemServicio.Servicio;
                    }
                    ItemCotizacion.Observacion = Item.Observacion;
                }
                base.m_ObjectFlow    = Cotizacion;
                base.m_EntidadSF     = (EntidadSF)HelperNHibernate.GetEntityByID("EntidadSF", "11D3E3C0-1639-49FF-8596-149E9D24F60A");
                base.m_ResultProcess = EnumResult.SUCESS;
            }
            catch (Exception ex)
            {
                base.m_ResultProcess = EnumResult.ERROR;
                SoftException.ShowException(ex);
            }
            base.Start();
        }
        public override void Start()
        {
            //try
            //{
            //    this.IniciarTransaccion();
            //    SolicitudCotizacion solicitudCotizacion = (SolicitudCotizacion)m_ObjectFlow;
            //    if (solicitudCotizacion.TipoDocumento.GeneraNumeracionAlFinal)
            //    {
            //        SqlCommand sqlCmd = new SqlCommand();
            //        sqlCmd.Connection = (SqlConnection)m_Sesion.Connection;
            //        m_Transaccion.Enlist(sqlCmd);
            //        {
            //            sqlCmd.CommandText = "pSF_Generar_Numeracion";
            //            sqlCmd.CommandType = System.Data.CommandType.StoredProcedure;
            //            sqlCmd.Parameters.Clear();
            //            sqlCmd.Parameters.AddWithValue("@Documento", "SolicitudCotizacion");
            //            sqlCmd.Parameters.AddWithValue("@TipoDocumento", "TipoSolicitudCotizacion");
            //            sqlCmd.Parameters.AddWithValue("@IDDocumento", solicitudCotizacion.ID);
            //            sqlCmd.Parameters.AddWithValue("@IDTipoDocumento", solicitudCotizacion.TipoDocumento.ID);
            //            sqlCmd.ExecuteNonQuery();
            //        }
            //    }
            //    this.Agregar(solicitudCotizacion);
            //    this.FinalizarTransaccion();

            //}
            //catch (Exception ex)
            //{
            //    this.FinalizarTransaccion(true);
            //    m_ResultProcess = EnumResult.ERROR;
            //    SoftException.Control(ex);
            //}
            //finally
            //{
            //    this.CerrarSesion();
            //}
            using (ISession Sesion = m_SessionFactory.OpenSession())
            {
                using (ITransaction Trans = Sesion.BeginTransaction())
                {
                    try
                    {
                        Auditoria           Auditoria = Auditoria.ConstruirAuditoria(base.m_ObjectFlow, "Creación");
                        SolicitudCotizacion solicitud = (SolicitudCotizacion)m_ObjectFlow;

                        Sesion.Save(solicitud);
                        Sesion.Flush();

                        if (solicitud.TipoDocumento.GeneraNumeracionAlFinal)
                        {
                            SqlCommand SqlCmd = new SqlCommand();
                            SqlCmd.Connection = (SqlConnection)Sesion.Connection;
                            Trans.Enlist(SqlCmd);
                            {
                                SqlCmd.CommandText = "pSF_Generar_Numeracion";
                                SqlCmd.CommandType = System.Data.CommandType.StoredProcedure;
                                SqlCmd.Parameters.Clear();
                                SqlCmd.Parameters.AddWithValue("@Documento", "SolicitudCotizacion");
                                SqlCmd.Parameters.AddWithValue("@TipoDocumento", "TipoSolicitudCotizacion");
                                SqlCmd.Parameters.AddWithValue("@IDDocumento", solicitud.ID);
                                SqlCmd.Parameters.AddWithValue("@IDTipoDocumento", solicitud.TipoDocumento.ID);
                                SqlCmd.ExecuteNonQuery();
                            }
                        }
                        Sesion.Save(Auditoria);
                        Trans.Commit();
                        m_ResultProcess = EnumResult.SUCESS;
                    }
                    catch (Exception ex)
                    {
                        Trans.Rollback();
                        m_ResultProcess = EnumResult.ERROR;
                        SoftException.Control(ex);
                    }
                }
            }
            base.Start();
        }