public void UpdateRow(pro_FabricacionDet_Info info_det, decimal IdTransaccionSession)
        {
            pro_FabricacionDet_Info edited_info = get_list(IdTransaccionSession).Where(m => m.Secuencia == info_det.Secuencia).First();

            edited_info.Cantidad          = info_det.Cantidad;
            edited_info.IdProducto        = info_det.IdProducto;
            edited_info.IdUnidadMedida    = info_det.IdUnidadMedida;
            edited_info.RealizaMovimiento = info_det.RealizaMovimiento;
            edited_info.pr_descripcion    = info_det.pr_descripcion;
        }
        public void AddRow(pro_FabricacionDet_Info info_det, decimal IdTransaccionSession)
        {
            List <pro_FabricacionDet_Info> list        = get_list(IdTransaccionSession);
            pro_FabricacionDet_Info        edited_info = get_list(IdTransaccionSession).Where(m => m.IdProducto == info_det.IdProducto && m.Signo == "-").FirstOrDefault();

            if (edited_info != null)
            {
                edited_info.Cantidad += info_det.Cantidad;
            }
            else
            {
                info_det.Secuencia = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1;
                list.Add(info_det);
            }
        }
        public ActionResult EditingUpdateEgreso([ModelBinder(typeof(DevExpressEditorsBinder))] pro_FabricacionDet_Info info_det)
        {
            var producto = bus_producto.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdProducto);

            if (producto != null)
            {
                info_det.pr_descripcion = producto.pr_descripcion;
            }
            if (ModelState.IsValid)
            {
                info_det.Signo = "-";
            }
            List_det.UpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            var model = List_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)).Where(q => q.Signo == "-").ToList();

            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_fabricacion_det_egr", model));
        }
Exemple #4
0
        public JsonResult ArmarMateriaPrima(int IdEmpresa = 0, int IdSucursal = 0, int IdBodega = 0, decimal IdTransaccionSession = 0)
        {
            double CostoProductoElaborado = 0;

            List_det.DeleteAll("-", IdTransaccionSession);
            var lst = List_det.get_list(IdTransaccionSession).Where(q => q.Signo == "+").ToList();

            List_det.DeleteAll("+", IdTransaccionSession);
            foreach (var item in lst)
            {
                var resultado = bus_comp.get_list(IdEmpresa, item.IdProducto);
                CostoProductoElaborado = 0;
                foreach (var cmp in resultado)
                {
                    var costo = bus_costo.get_ultimo_costo(IdEmpresa, IdSucursal, IdBodega, cmp.IdProductoHijo, DateTime.Now.Date);
                    var row   = new pro_FabricacionDet_Info
                    {
                        IdEmpresa         = cmp.IdEmpresa,
                        IdProducto        = cmp.IdProductoHijo,
                        Cantidad          = cmp.Cantidad * item.Cantidad,
                        pr_descripcion    = cmp.pr_descripcion,
                        IdUnidadMedida    = cmp.IdUnidadMedida,
                        Signo             = "-",
                        RealizaMovimiento = true,
                        Costo             = costo * cmp.Cantidad,
                        se_distribuye     = cmp.se_distribuye ?? false,
                        tp_ManejaInven    = cmp.tp_ManejaInven
                    };
                    List_det.AddRow(row, IdTransaccionSession);
                    CostoProductoElaborado += row.Costo;
                }
                item.Costo = CostoProductoElaborado;
                List_det.AddRow(item, IdTransaccionSession);
            }
            return(Json("", JsonRequestBehavior.AllowGet));
        }