/// <summary> /// Guarda un cliente en la base de datos /// </summary> public void GuardarCliente(Cliente cliente, string password) { var usersManager = new UsersManager(); var entityDetailManager = new DetalleEntidadManager(); if (cliente.UserID == 0) { var transaction = SqlDataAccess.OpenTransaction(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString()); try { SessionData.Set("Transaction", transaction); cliente.UserID = usersManager.CreateProfileAccount(cliente as User, Cliente.Profile, password); var detalleID = entityDetailManager.AddDetalleEntidad(cliente as User); SqlDataAccess.ExecuteNonQuery( "GRUPO_N.InsertCliente", SqlDataAccessArgs .CreateWith("@DNI", cliente.DNI) .And("@ID", cliente.UserID) .And("@Nombre", cliente.Nombre) .And("@Apellido", cliente.Apellido) .And("@FechaNacimiento", cliente.FechaNacimiento) .Arguments, transaction); SessionData.Remove("Transaction"); SqlDataAccess.Commit(transaction); } catch { SqlDataAccess.Rollback(transaction); cliente.UserID = 0; throw; } } else { entityDetailManager.UpdateDetalleEntidad(cliente as User); SqlDataAccess.ExecuteNonQuery(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString(), "GRUPO_N.UpdateCliente", SqlDataAccessArgs .CreateWith("@DNI", cliente.DNI) .And("@ID", cliente.UserID) .And("@Nombre", cliente.Nombre) .And("@Apellido", cliente.Apellido) .And("@FechaNacimiento", cliente.FechaNacimiento) .Arguments); } AddCiudades(cliente); SessionData.Remove("Clients"); }
public void GuardarProveedor(Proveedor proveedor, string password) { var usersManager = new UsersManager(); var entityDetailManager = new DetalleEntidadManager(); if (proveedor.UserID == 0) { var transaction = SqlDataAccess.OpenTransaction(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString()); try { SessionData.Set("Transaction", transaction); proveedor.UserID = usersManager.CreateProfileAccount(proveedor as User, Proveedor.Profile, password); var detalleID = entityDetailManager.AddDetalleEntidad(proveedor as User); SqlDataAccess.ExecuteNonQuery( "GRUPO_N.InsertProveedor", SqlDataAccessArgs .CreateWith("@RazonSocial", proveedor.RazonSocial) .And("@ID", proveedor.UserID) .And("@ID_Rubro", proveedor.Rubro.ID) .And("@CUIT", proveedor.CUIT) .And("@Contacto", proveedor.NombreContacto) .Arguments, transaction); SessionData.Remove("Transaction"); SqlDataAccess.Commit(transaction); } catch { SqlDataAccess.Rollback(transaction); proveedor.UserID = 0; throw; } } else { entityDetailManager.UpdateDetalleEntidad(proveedor as User); SqlDataAccess.ExecuteNonQuery(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString(), "GRUPO_N.UpdateProveedor", SqlDataAccessArgs .CreateWith("@RazonSocial", proveedor.RazonSocial) .And("@ID", proveedor.UserID) .And("@ID_Rubro", proveedor.Rubro.ID) .And("@CUIT", proveedor.CUIT) .And("@Contacto", proveedor.NombreContacto) .Arguments); } }
public void GuardarProfesional(Profesional profesional) { var usersManager = new UsersManager(); var entityDetailManager = new DetallePersonaManager(); if (profesional.UserID == 0)//Profesional nuevo { var transaction = SqlDataAccess.OpenTransaction(ConfigurationManager.ConnectionStrings["StringConexion"].ToString()); try { SessionData.Set("Transaction", transaction); profesional.UserID = usersManager.insertarUsuario(profesional as User); var detalleID = entityDetailManager.AddDetallePersona(profesional as User); SqlDataAccess.ExecuteNonQuery( "[SHARPS].InsertProfesional", SqlDataAccessArgs .CreateWith("@Matricula", profesional.Matricula) .And("@ID", profesional.UserID) .And("@Rol", profesional.RoleID) .Arguments, transaction); SessionData.Remove("Transaction"); SqlDataAccess.Commit(transaction); } catch { SqlDataAccess.Rollback(transaction); profesional.UserID = 0; throw; } } else //Editando un profesional { entityDetailManager.UpdateDetallePersona(profesional.DetallesPersona, profesional.UserID); SqlDataAccess.ExecuteNonQuery(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(), "[SHARPS].UpdateProfesional", SqlDataAccessArgs .CreateWith("@Matricula", profesional.Matricula) .And("@ID", profesional.UserID) .Arguments); } InsertarEspecialidades(profesional); }
public long GuardarAfiliado(Afiliado afiliado) { var usersManager = new UsersManager(); var _detallesManager = new DetallePersonaManager(); if (afiliado.UserID == 0)//NUEVO USUARIO { var transaction = SqlDataAccess.OpenTransaction(ConfigurationManager.ConnectionStrings["StringConexion"].ToString()); try { afiliado.UserID = usersManager.insertarUsuario(afiliado as User); var detalleID = _detallesManager.AddDetallePersona(afiliado as User); if (afiliado.NroAfiliado == 0)//Primero del grupo familiar { afiliado.NroAfiliado = SqlDataAccess.ExecuteScalarQuery <int>(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(), "[SHARPS].InsertAfiliado", SqlDataAccessArgs .CreateWith("@PlanMedico", afiliado.PlanMedico.ID) .And("@ID", afiliado.UserID) .And("@EstadoCivil", afiliado.EstadoCivil) .And("@CantHijos", afiliado.CantHijos) .Arguments); //Inserta, y devuelve el grupo familiar que se le creo } else { afiliado.NroAfiliado = SqlDataAccess.ExecuteScalarQuery <int>(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(), "[SHARPS].InsertMiembroGrupoFamiliar", SqlDataAccessArgs .CreateWith("@PlanMedico", afiliado.PlanMedico.ID) .And("@EstadoCivil", afiliado.EstadoCivil) .And("@CantHijos", afiliado.CantHijos) .And("@RolAfiliado", afiliado.RoleID) .And("@GrupoFamiliar", afiliado.NroAfiliado) .And("@TipoAfiliado", afiliado.tipoAfiliado) .And("@UserID", afiliado.UserID) .Arguments); //Inserta el usuario, y le paso el tipo de afiliado } SessionData.Remove("Transaction"); SqlDataAccess.Commit(transaction); return(afiliado.NroAfiliado); }catch { SqlDataAccess.Rollback(transaction); afiliado.UserID = 0; throw; } } else { _detallesManager.UpdateDetallePersona(afiliado.DetallesPersona, afiliado.UserID); SqlDataAccess.ExecuteNonQuery(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(), "[SHARPS].UpdateAfiliado", SqlDataAccessArgs .CreateWith("@PlanMedico", afiliado.PlanMedico.ID) .And("@ID", afiliado.UserID) .And("@EstadoCivil", afiliado.EstadoCivil) .And("@RolAfiliado", afiliado.RoleID) .And("@CantHijos", afiliado.CantHijos) .And("@Motivo", afiliado.MotivoCambio) .Arguments); //Guarda la informacion del usuario return(0); } }