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(); } } }
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(); } }