Exemplo n.º 1
0
        public void AddNegocio(NegocioEntity n, UsuarioEntity usuarioActual)
        {
            List <Comercio>       lstCom   = null;
            List <LugarHospedaje> lstLugar = null;

            if (n.Comercio.FirstOrDefault() != null)
            {
                Comercio com = convert.ComercioEntityToComercio(n.Comercio.FirstOrDefault());
                lstCom = new List <Comercio>()
                {
                    com
                };
            }

            if (n.LugarHospedaje.FirstOrDefault() != null)
            {
                LugarHospedaje lug = convert.LugarHospedajeEntityToLugarHospedaje(n.LugarHospedaje.FirstOrDefault());
                lstLugar = new List <LugarHospedaje>()
                {
                    lug
                };
            }

            using (SitcomEntities db = new SitcomEntities())
            {
                int idTipTra = 0;

                bool esCorreccion = false;

                //Seteo el estado de tramite segun si es Alta o Modificacion de Negocio.
                if (n.idNegocioModif != null)
                {
                    idTipTra = 3; //Modificacion de Negocio

                    var aprobado = (from nego in db.Negocio
                                    where nego.idNegocio == n.idNegocioModif
                                    select nego.estaAprobado).FirstOrDefault();

                    if (!Boolean.Parse(aprobado.ToString()))
                    {
                        esCorreccion = true;
                    }
                }
                else
                {
                    idTipTra = 1; //Alta de Negocio
                }
                Tramite tra = new Tramite();

                //Solo genero un nuevo tramite si es un nuevo negocio o modificacion de uno ya existente.
                if (!esCorreccion)
                {
                    tra = new Tramite()
                    {
                        idUsuarioSolicitante = usuarioActual.idUsuario,
                        fechaAlta            = DateTime.Now,
                        idTipoTramite        = idTipTra,
                        idEstadoTramite      = 1
                    };
                }

                var neg = new Negocio()
                {
                    nombre         = n.nombre,
                    descripcion    = n.descripcion,
                    idTipoNegocio  = n.idTipoNegocio,
                    idUsuario      = n.idUsuario,
                    Comercio       = lstCom,
                    LugarHospedaje = lstLugar,
                    FotosNegocio   = n.FotosNegocio,
                    Sucursal       = convert.SucursalEntityToSucursal(n.Sucursal.FirstOrDefault()),
                    estaAprobado   = false,
                    idNegocioModif = n.idNegocioModif
                };

                if (!esCorreccion)
                {
                    neg.Tramite = new List <Tramite>()
                    {
                        tra
                    }
                }
                ;


                db.Negocio.Add(neg);
                db.SaveChanges();


                if (esCorreccion)
                {
                    //Obtengo el id del negocio recien creado.
                    var idNuevoNegocio = (from negs in db.Negocio
                                          where negs.idNegocioModif == n.idNegocioModif
                                          select negs.idNegocio).FirstOrDefault();

                    //Actualizo el id del tramite original con el del negocio recien creado.
                    var tramiteOrig = (from trams in db.Tramite
                                       where trams.idNegocio == n.idNegocioModif
                                       select trams).FirstOrDefault();

                    tramiteOrig.idNegocio       = int.Parse(idNuevoNegocio.ToString());
                    tramiteOrig.idEstadoTramite = 2;

                    db.SaveChanges();
                }
            }
        }
Exemplo n.º 2
0
        public void AddNegocio(NegocioEntity n, UsuarioEntity usuarioActual)
        {
            List <Comercio>       lstCom   = null;
            List <LugarHospedaje> lstLugar = null;

            if (n.Comercio.FirstOrDefault() != null)
            {
                Comercio com = convert.ComercioEntityToComercio(n.Comercio.FirstOrDefault());
                lstCom = new List <Comercio>()
                {
                    com
                };
            }

            if (n.LugarHospedaje.FirstOrDefault() != null)
            {
                LugarHospedaje lug = convert.LugarHospedajeEntityToLugarHospedaje(n.LugarHospedaje.FirstOrDefault());
                lstLugar = new List <LugarHospedaje>()
                {
                    lug
                };
            }

            using (SitcomEntities db = new SitcomEntities())
            {
                int idEstTra = 0;
                if (n.idNegocioModif != null) //Seteo el estado de tramite segun si es Alta o Modificacion de Negocio.
                {
                    idEstTra = 3;
                }
                else
                {
                    idEstTra = 1;
                }

                Tramite tra = new Tramite()
                {
                    idUsuarioSolicitante = usuarioActual.idUsuario,
                    fechaAlta            = DateTime.Now,
                    idTipoTramite        = idEstTra,
                    idEstadoTramite      = 1
                };
                var neg = new Negocio()
                {
                    nombre         = n.nombre,
                    descripcion    = n.descripcion,
                    idTipoNegocio  = n.idTipoNegocio,
                    idUsuario      = n.idUsuario,
                    Comercio       = lstCom,
                    LugarHospedaje = lstLugar,
                    FotosNegocio   = n.FotosNegocio,
                    Tramite        = new List <Tramite>()
                    {
                        tra
                    },
                    Sucursal       = convert.SucursalEntityToSucursal(n.Sucursal.FirstOrDefault()),
                    estaAprobado   = false,
                    idNegocioModif = n.idNegocioModif
                };
                db.Negocio.Add(neg);
                db.SaveChanges();
            }
        }