/// <summary> /// Evento de clic del botón Afectar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void imgbtnAfectar_Click(object sender, DirectEventArgs e) { //1. Obtener datos de la Forma string strMovimiento = e.ExtraParams["Movimiento"]; string strOrdenEstimacionForma = e.ExtraParams["OrdenEstimacionForma"]; string strOrdenEstimacion = e.ExtraParams["OrdenEstimacion"]; string strOrdenEstimacionD = e.ExtraParams["OrdenEstimacionD"]; string strcookieEditarOrdenEstimacion = Cookies.GetCookie("cookieEditarOrdenEstimacion").Value; decimal diasAtencion = Convert.ToDecimal(e.ExtraParams["diasAtencion"]); //2. Serializar el encabezado y el detalle Dictionary <string, string> dRegistro = JSON.Deserialize <Dictionary <string, string> >(strOrdenEstimacionForma); OrdenEstimacion oFormaOrdenEstimacion = ObtenerObjetoDesdeForma(dRegistro); OrdenEstimacion oOrdenEstimacion = JsonConvert.DeserializeObject <List <OrdenEstimacion> >(strOrdenEstimacion).FirstOrDefault(); List <OrdenEstimacionD> lOrdenEstimacionD = JsonConvert.DeserializeObject <List <OrdenEstimacionD> >(strOrdenEstimacionD); //3. Complementar datos y guardar o actualizar el movimiento oFormaOrdenEstimacion.DiasAtencion = diasAtencion; string strAccion = GuardarMovimiento(ref oFormaOrdenEstimacion, oOrdenEstimacion, lOrdenEstimacionD); //4. Validar que efecto realizará para Guardar o Afectar switch (strAccion) { case "insertar": e.ExtraParamsResponse.Add(new Ext.Net.Parameter("accion", "insertar", ParameterMode.Value)); break; case "modificar": e.ExtraParamsResponse.Add(new Ext.Net.Parameter("accion", "modificar", ParameterMode.Value)); break; } //5. Lanzar la afectación del Movimiento if (strMovimiento.Trim().Equals("Mesa de reporte")) { OrdenEstimacionBusiness.AfectarEstimacionPorID(oFormaOrdenEstimacion); e.ExtraParamsResponse.Add(new Ext.Net.Parameter("mov", "Reporte", ParameterMode.Value)); } //4. Lanzar la afectación del Movimiento if (strMovimiento.Trim().Equals("Orden de Cambio") || strMovimiento.Trim().Equals("Orden de Compra")) { OrdenEstimacionBusiness.AfectarOrdenPorID(oFormaOrdenEstimacion); e.ExtraParamsResponse.Add(new Ext.Net.Parameter("mov", "Orden", ParameterMode.Value)); } //6. Actualizar el objeto y el store de OrdenEstimacion oOrdenEstimacion = OrdenEstimacionBusiness.ObtenerOrdenEstimacionPorID(oFormaOrdenEstimacion.Id); sOrdenEstimacion.GetAt(0).Set("MovID", oOrdenEstimacion.MovID); sOrdenEstimacion.GetAt(0).Set("Estatus", oOrdenEstimacion.Estatus); sOrdenEstimacion.GetAt(0).Set("Clasificacion", oOrdenEstimacion.Clasificacion); }
public static OrdenEstimacion ObtenerOrdenEstimacion(int iID) { return(OrdenEstimacionBusiness.ObtenerOrdenEstimacionPorID(iID)); }
public void sOrdenMantenimiento_Load() { //Obtener la cookie al cargar string strcookieEditarOrdenEstimacion = Cookies.GetCookie("cookieEditarOrdenEstimacion").Value; //Validar si es diferente de Nuevo if (!strcookieEditarOrdenEstimacion.Equals("Nuevo")) { //Cargar el encabezado del movimiento OrdenEstimacion oOrdenEstimacion = OrdenEstimacionBusiness.ObtenerOrdenEstimacionPorID(Convert.ToInt32(strcookieEditarOrdenEstimacion)); if (oOrdenEstimacion.Mov.Equals("Estimacion")) { //Cargar el detalle del movimiento enlazando la estimacion sConceptos.DataSource = OrdenEstimacionDBusiness.ObtenerOrdenEstimacionDPorOrigen(oOrdenEstimacion.OrigenId); sConceptos.DataBind(); } else { //Cargar el detalle del movimiento normal sConceptos.DataSource = OrdenEstimacionDBusiness.ObtenerOrdenEstimacionDPorOrdenEstimacion(oOrdenEstimacion.Id); sConceptos.DataBind(); } //Agregar el Store sOrdenEstimacion.Add(new { ID = oOrdenEstimacion.Id, Mov = oOrdenEstimacion.Mov, MovID = oOrdenEstimacion.MovID, Sucursal = oOrdenEstimacion.Sucursal, FechaEmision = oOrdenEstimacion.FechaEmision, Observaciones = oOrdenEstimacion.Observaciones, Estatus = oOrdenEstimacion.Estatus, Usuario = oOrdenEstimacion.Usuario, RSucursal = oOrdenEstimacion.RSucursal, Origen = oOrdenEstimacion.Origen, OrigenId = oOrdenEstimacion.OrigenId, Reporte = oOrdenEstimacion.Reporte, Division = oOrdenEstimacion.Division, FechaOrigen = oOrdenEstimacion.FechaOrigen, FechaMaximaAtencion = oOrdenEstimacion.FechaMaximaAtencion, DiasAtencion = oOrdenEstimacion.DiasAtencion, Reporto = oOrdenEstimacion.Reporto, TrabajoRequerido = oOrdenEstimacion.TrabajoRequerido, TrabajoRealizado = oOrdenEstimacion.TrabajoRealizado, CodigoFalla = oOrdenEstimacion.CodigoFalla, FechaLlegada = oOrdenEstimacion.FechaLlegada, HoraLlegada = oOrdenEstimacion.HoraLlegada, FechaFinActividad = oOrdenEstimacion.FechaFinActividad, HoraFinActividad = oOrdenEstimacion.HoraFinActividad, Cuadrilla = oOrdenEstimacion.Cuadrilla, ImporteTotal = oOrdenEstimacion.ImporteTotal, HoraOrigen = oOrdenEstimacion.HoraOrigen, RutaImagen = oOrdenEstimacion.RutaImagen, Atendido = oOrdenEstimacion.Atendido, NoOrden = oOrdenEstimacion.NoOrden, ReferenciaOrden = oOrdenEstimacion.ReferenciaOrden, Clasificacion = oOrdenEstimacion.Clasificacion, Cliente = oOrdenEstimacion.Cliente, RCliente = oOrdenEstimacion.RCliente }); imgNormal.ImageUrl = oOrdenEstimacion.RutaImagen; } }
/// <summary> /// Evento que Guarda o actualiza un Movimiento /// </summary> /// <param name="oOrdenEstimacionForma"></param> /// <param name="oOrdenEstimacion"></param> /// <param name="lOrdenEstimacionD"></param> /// <returns></returns> private string GuardarMovimiento(ref OrdenEstimacion oOrdenEstimacionForma, OrdenEstimacion oOrdenEstimacion, List <OrdenEstimacionD> lOrdenEstimacionD) { //Checar ticket de autenticación UsuarioBusiness.checkValidSession(this); //1. Traemeos el objeto de sesion para llenr el objeto con los datos de usuario Usuario oUsuario = (Usuario)Session["Usuario"]; oOrdenEstimacionForma.Usuario = oUsuario.ID; //2. Actualizamos el Estatus e Insertar en la base de datos oOrdenEstimacionForma.Estatus = "BORRADOR"; string strReporte = oOrdenEstimacionForma.Reporte; string strImagen = fufNormal.FileName; oOrdenEstimacionForma.RutaImagen = strImagen; string bandera = Cookies.GetCookie("cookieTieneImagenReporte").Value; //3. Lo que sucede cuando es nuevo y no se habia guardado if (oOrdenEstimacion == null) { if (bandera.Equals("SI")) { string strDireccion = Server.MapPath(" ") + "\\imagenesReportes\\" + oOrdenEstimacionForma.Reporte; //2. Validar si existe el directorio donde se guardaran las imagenes if (Directory.Exists(strDireccion)) { fufNormal.PostedFile.SaveAs(strDireccion + "\\" + fufNormal.FileName); } else { Directory.CreateDirectory(strDireccion); fufNormal.PostedFile.SaveAs(strDireccion + "\\" + fufNormal.FileName); } //Guardamos en la bd oOrdenEstimacionForma.RutaImagen = "imagenesReportes\\" + oOrdenEstimacionForma.Reporte + "\\" + fufNormal.FileName; } else { oOrdenEstimacionForma.RutaImagen = ""; } oOrdenEstimacionForma.Id = OrdenEstimacionBusiness.insertarOrdenEstimacion(oOrdenEstimacionForma); oOrdenEstimacionForma = OrdenEstimacionBusiness.ObtenerOrdenEstimacionPorID(oOrdenEstimacionForma.Id); //4. Agregar el objeto al Store de Revisión sOrdenEstimacion.Add(new { ID = oOrdenEstimacionForma.Id, Mov = oOrdenEstimacionForma.Mov, MovID = oOrdenEstimacionForma.MovID, Sucursal = oOrdenEstimacionForma.Sucursal, FechaEmision = oOrdenEstimacionForma.FechaEmision, Observaciones = oOrdenEstimacionForma.Observaciones, RSucursal = oOrdenEstimacionForma.RSucursal, Estatus = oOrdenEstimacionForma.Estatus, Usuario = oOrdenEstimacionForma.Usuario, Origen = oOrdenEstimacionForma.Origen, OrigenId = oOrdenEstimacionForma.OrigenId, Reporte = oOrdenEstimacionForma.Reporte, //5. Segunda parte Division = oOrdenEstimacionForma.Division, FechaOrigen = oOrdenEstimacionForma.FechaOrigen, FechaMaximaAtencion = oOrdenEstimacionForma.FechaMaximaAtencion, DiasAtencion = oOrdenEstimacionForma.DiasAtencion, Reporto = oOrdenEstimacionForma.Reporto, TrabajoRequerido = oOrdenEstimacionForma.TrabajoRequerido, //6. Tercera parte TrabajoRealizado = oOrdenEstimacionForma.TrabajoRealizado, CodigoFalla = oOrdenEstimacionForma.CodigoFalla, FechaLlegada = oOrdenEstimacionForma.FechaLlegada, HoraLlegada = oOrdenEstimacionForma.HoraLlegada, FechaFinActividad = oOrdenEstimacionForma.FechaFinActividad, HoraFinActividad = oOrdenEstimacionForma.HoraFinActividad, Cuadrilla = oOrdenEstimacionForma.Cuadrilla, ImporteFinal = oOrdenEstimacionForma.ImporteTotal, HoraOrigen = oOrdenEstimacionForma.HoraOrigen, RutaImagen = oOrdenEstimacionForma.RutaImagen, Atendido = oOrdenEstimacionForma.Atendido, NoOrden = oOrdenEstimacionForma.NoOrden, ReferenciaOrden = oOrdenEstimacionForma.ReferenciaOrden, Clasificacion = oOrdenEstimacionForma.Clasificacion == null ? oOrdenEstimacionForma.Clasificacion : "", Cliente = oOrdenEstimacionForma.Cliente, RCliente = oOrdenEstimacionForma.RCliente }); //7. Guardar Detalle y regresar valor GuardarDetalleOrdenEstimacion(lOrdenEstimacionD, oOrdenEstimacionForma); return("insertar"); } else { //8. Complementar datos y actualizar encabezado if (bandera.Equals("SI")) { string strDireccion = Server.MapPath(" ") + "\\imagenesReportes\\" + oOrdenEstimacionForma.Reporte; //2. Validar si existe el directorio donde se guardaran las imagenes if (Directory.Exists(strDireccion)) { fufNormal.PostedFile.SaveAs(strDireccion + "\\" + fufNormal.FileName); } else { Directory.CreateDirectory(strDireccion); fufNormal.PostedFile.SaveAs(strDireccion + "\\" + fufNormal.FileName); } //Guardamos en la bd oOrdenEstimacionForma.RutaImagen = "imagenesReportes\\" + oOrdenEstimacionForma.Reporte + "\\" + fufNormal.FileName; } else { oOrdenEstimacionForma.RutaImagen = oOrdenEstimacion.RutaImagen; } oOrdenEstimacionForma.Id = oOrdenEstimacion.Id; //if (oOrdenEstimacionForma.Cliente == null) //{ // oOrdenEstimacionForma.Cliente = ""; //} OrdenEstimacionBusiness.ActualizarOrdenEstimacion(oOrdenEstimacionForma); //9. Actualizar store de OrdenesEstimaciones sOrdenEstimacion.GetAt(0).Set("Mov", oOrdenEstimacionForma.Mov); sOrdenEstimacion.GetAt(0).Set("Sucursal", oOrdenEstimacionForma.Sucursal); sOrdenEstimacion.GetAt(0).Set("FechaEmision", oOrdenEstimacionForma.FechaEmision); sOrdenEstimacion.GetAt(0).Set("Estaus", oOrdenEstimacionForma.Estatus); sOrdenEstimacion.GetAt(0).Set("Observaciones", oOrdenEstimacionForma.Observaciones); //10. Campos extras de reporte sOrdenEstimacion.GetAt(0).Set("Reporte", oOrdenEstimacionForma.Reporte); sOrdenEstimacion.GetAt(0).Set("Division", oOrdenEstimacionForma.Division); sOrdenEstimacion.GetAt(0).Set("FechaOrigen", oOrdenEstimacionForma.FechaOrigen); sOrdenEstimacion.GetAt(0).Set("FechaMaximaAtencion", oOrdenEstimacionForma.FechaMaximaAtencion); sOrdenEstimacion.GetAt(0).Set("DiasAtencion", oOrdenEstimacionForma.DiasAtencion); sOrdenEstimacion.GetAt(0).Set("Reporto", oOrdenEstimacionForma.Reporto); sOrdenEstimacion.GetAt(0).Set("TrabajoRequerido", oOrdenEstimacionForma.TrabajoRequerido); //11. Campos extras 2 sOrdenEstimacion.GetAt(0).Set("TrabajoRealizado", oOrdenEstimacionForma.TrabajoRealizado); sOrdenEstimacion.GetAt(0).Set("CodigoFalla", oOrdenEstimacionForma.CodigoFalla); sOrdenEstimacion.GetAt(0).Set("FechaLlegada", oOrdenEstimacionForma.FechaLlegada); sOrdenEstimacion.GetAt(0).Set("HoraLlegada", oOrdenEstimacionForma.HoraLlegada); sOrdenEstimacion.GetAt(0).Set("FechaFinActividad", oOrdenEstimacionForma.FechaFinActividad); sOrdenEstimacion.GetAt(0).Set("HoraFinActividad", oOrdenEstimacionForma.HoraFinActividad); sOrdenEstimacion.GetAt(0).Set("Cuadrilla", oOrdenEstimacionForma.Cuadrilla); //12. Importe sOrdenEstimacion.GetAt(0).Set("ImporteFinal", oOrdenEstimacionForma.ImporteTotal); sOrdenEstimacion.GetAt(0).Set("HoraOrigen", oOrdenEstimacionForma.HoraOrigen); sOrdenEstimacion.GetAt(0).Set("RutaImagen", oOrdenEstimacionForma.RutaImagen); sOrdenEstimacion.GetAt(0).Set("NoOrden", oOrdenEstimacionForma.NoOrden); sOrdenEstimacion.GetAt(0).Set("ReferenciaOrden", oOrdenEstimacionForma.ReferenciaOrden); sOrdenEstimacion.GetAt(0).Set("Clasificacion", oOrdenEstimacionForma.Clasificacion); sOrdenEstimacion.GetAt(0).Set("Cliente", oOrdenEstimacionForma.Cliente); //13. Borrar todo el detalle e insertarlo de nuevo OrdenEstimacionDBusiness.BorrarPorID(oOrdenEstimacionForma.Id); GuardarDetalleOrdenEstimacion(lOrdenEstimacionD, oOrdenEstimacionForma); //14. Regresar valor return("modificar"); } }