public static string ApruebaRechazaSolicitud(Pet.Entity.GPC_Solicitud solicitud) { using (var db = new EFData.PET_DBEntities()) { if (solicitud.numero_solicitud != 0) { db.Database.ExecuteSqlCommand("aprueba_rechaza_solicitud @numero_solicitud, @codigo_estado", new SqlParameter("numero_solicitud", solicitud.numero_solicitud), new SqlParameter("codigo_estado", solicitud.codigo_estado) ); //aprueba_detalle_solicitud if (solicitud.codigo_estado == 3) { foreach (Pet.Entity.GPC_DetalleDeSolicitud item in solicitud.GPC_DetalleDeSolicitud) { db.Database.ExecuteSqlCommand("aprueba_detalle_solicitud @numero_solicitud, @item, @cantidad_aprobada", new SqlParameter("numero_solicitud", solicitud.numero_solicitud), new SqlParameter("item", item.item), new SqlParameter("cantidad_aprobada", item.cantidad_aprobada) ); } } } } return("OK"); }
public static void AddDetalleSolicitud(Pet.Entity.GPC_Solicitud solicitud) { using (var db = new EFData.PET_DBEntities()) { //Add detalle solcitud foreach (Pet.Entity.GPC_DetalleDeSolicitud item in solicitud.GPC_DetalleDeSolicitud) { db.Database.ExecuteSqlCommand("RegistraDetalleSolicitud @item, @cantidad_solicitada, @codigo_recurso, @numero_solicitud", new SqlParameter("item", item.item), new SqlParameter("cantidad_solicitada", item.cantidad_solicitada), new SqlParameter("codigo_recurso", item.codigo_recurso), new SqlParameter("numero_solicitud", solicitud.numero_solicitud) ); } } }
public static string EliminaSolicitud(Pet.Entity.GPC_Solicitud solicitud) { using (var db = new EFData.PET_DBEntities()) { if (solicitud.numero_solicitud != 0) { //var _solicitud = db.GPC_Solicitud.SingleOrDefault(x => x.numero_solicitud == solicitud.numero_solicitud); //EliminaDetalleSolicitud(solicitud.numero_solicitud); //db.GPC_Solicitud.Attach(_solicitud); //db.GPC_Solicitud.Remove(_solicitud); //db.SaveChanges(); db.Database.ExecuteSqlCommand("EliminaSolicitud @numero_solicitud", new SqlParameter("numero_solicitud", solicitud.numero_solicitud) ); } } return("OK"); }
public static string GuardaSolicitud(Pet.Entity.GPC_Solicitud solicitud) { try { using (var db = new EFData.PET_DBEntities()) { if (solicitud.numero_solicitud == 0) { //SR000001 //var nroSolicitud = db.GPC_Solicitud // .Select(t => t.numero_solicitud) // .DefaultIfEmpty(-1) // .Max(); //if (nroSolicitud == -1) //{ // nroSolicitud = 1; //} //else //{ // nroSolicitud += 1; //} //string nroSol = string.Format("{0:000000}", nroSolicitud); //string codigoGenerado = "SR" + nroSol; //solicitud.codigo_solicitud = codigoGenerado; //solicitud.numero_solicitud = nroSolicitud; var _nroSolicitud = new SqlParameter("numero_solicitud", SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output }; //SqlParameter _fecha_hora = new SqlParameter() //{ // ParameterName = "fecha_hora", // DbType = DbType.DateTime, // Value = solicitud.fecha_hora //}; //SqlParameter _codigo_estado = new SqlParameter() //{ // ParameterName = "codigo_estado", // DbType = DbType.Int32, // Value = solicitud.codigo_estado //}; var _fecha_hora = new SqlParameter("fecha_hora", solicitud.fecha_hora); SqlParameter _codigo_empleado = new SqlParameter("codigo_empleado", solicitud.codigo_empleado); SqlParameter _codigo_prioridad = new SqlParameter("codigo_prioridad", solicitud.codigo_prioridad); SqlParameter _codigo_estado = new SqlParameter("codigo_estado", solicitud.codigo_estado); db.Database.ExecuteSqlCommand("RegistraSolicitud @fecha_hora, @codigo_empleado, @codigo_prioridad, @codigo_estado, @numero_solicitud out", _fecha_hora, _codigo_empleado, _codigo_prioridad, _codigo_estado, _nroSolicitud ); solicitud.numero_solicitud = (int)_nroSolicitud.Value; AddDetalleSolicitud(solicitud); //db.Set<Pet.Entity.GPCSolicitud>().Add(solicitud); //db.SaveChanges(); } else { EliminaDetalleSolicitud(solicitud.numero_solicitud); db.Database.ExecuteSqlCommand("ActualizaSolicitud @numero_solicitud, @fecha_hora, @codigo_empleado, @codigo_prioridad, @codigo_estado", new SqlParameter("numero_solicitud", solicitud.numero_solicitud), new SqlParameter("fecha_hora", solicitud.fecha_hora), new SqlParameter("codigo_empleado", solicitud.codigo_empleado), new SqlParameter("codigo_prioridad", solicitud.codigo_prioridad), new SqlParameter("codigo_estado", solicitud.codigo_estado) ); AddDetalleSolicitud(solicitud); } } } catch (DbUpdateException ex) { UpdateException updateException = (UpdateException)ex.InnerException; SqlException sqlException = (SqlException)updateException.InnerException; StringBuilder dd = new StringBuilder(); foreach (SqlError error in sqlException.Errors) { dd.Append(error); } string ddd = dd.ToString(); throw; } return("OK"); }