public ActionResult EditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] in_Producto_Composicion_Info info_det)
        {
            in_Producto_Info model = new in_Producto_Info();

            if (ModelState.IsValid)
            {
                int IdEmpresa           = Convert.ToInt32(SessionFixed.IdEmpresa);
                in_Producto_Info info_p = new in_Producto_Info();
                if (info_det != null)
                {
                    if (info_det.IdProductoHijo != 0)
                    {
                        info_p = bus_producto.get_info(IdEmpresa, info_det.IdProductoHijo);
                    }
                }
                if (info_p != null)
                {
                    info_det.pr_descripcion = info_p.pr_descripcion;
                    info_det.IdUnidadMedida = info_p.IdUnidadMedida;
                }
                list_producto_composicion.UpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            }
            model.lst_producto_composicion = list_producto_composicion.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            return(PartialView("_GridViewPartial_producto_composicion", model));
        }
        public void AddRow(in_Producto_Composicion_Info info_det, decimal IdTransaccionSession)
        {
            List <in_Producto_Composicion_Info> list = get_list(IdTransaccionSession);

            info_det.secuencia      = list.Count == 0 ? 1 : list.Max(q => q.secuencia) + 1;
            info_det.pr_descripcion = bus_producto.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdProductoHijo).pr_descripcion_combo;
            list.Add(info_det);
        }
        public void UpdateRow(in_Producto_Composicion_Info info_det, decimal IdTransaccionSession)
        {
            in_Producto_Composicion_Info edited_info = get_list(IdTransaccionSession).Where(m => m.secuencia == info_det.secuencia).First();

            if (edited_info.IdProductoHijo != info_det.IdProductoHijo)
            {
                edited_info.pr_descripcion = bus_producto.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdProductoHijo).pr_descripcion_combo;
            }
            edited_info.IdProductoHijo = info_det.IdProductoHijo;
            edited_info.IdUnidadMedida = info_det.IdUnidadMedida;
            edited_info.Cantidad       = info_det.Cantidad;
        }
示例#4
0
        public List <in_Producto_Composicion_Info> Get_List_Producto_Composicion(int IdEmpresa, decimal IdProductoPadre)
        {
            try
            {
                List <in_Producto_Composicion_Info> lM = new List <in_Producto_Composicion_Info>();
                EntitiesInventario OEInventario        = new EntitiesInventario();


                var select = (from A in OEInventario.in_Producto_Composicion
                              join B in OEInventario.in_Producto
                              on new { A.IdEmpresa } equals new { B.IdEmpresa }

                              where A.IdEmpresa == IdEmpresa && A.IdProductoPadre == IdProductoPadre && A.IdProductoHijo == B.IdProducto
                              select new
                {
                    A.IdEmpresa,
                    A.IdProductoPadre,
                    A.IdProductoHijo,
                    A.Cantidad,
                    B.pr_descripcion,
                    B.IdUnidadMedida_Consumo,
                    A.IdUnidadMedida
                });

                foreach (var item in select)
                {
                    in_Producto_Composicion_Info info = new in_Producto_Composicion_Info();
                    info.IdEmpresa       = item.IdEmpresa;
                    info.IdProductoPadre = item.IdProductoPadre;
                    info.IdProductoHijo  = item.IdProductoHijo;
                    info.Cantidad        = item.Cantidad;
                    info.IdUnidadMedida  = item.IdUnidadMedida;
                    info.NomProdcutoHijo = item.pr_descripcion;

                    lM.Add(info);
                }
                return(lM);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.ToString() + " " + ex.Message;
                throw new Exception(mensaje);
            }
        }