예제 #1
0
        public static Response <InformeResponse> InsertBolsa(InformeRequest request)
        {
            Response <InformeResponse>   response;
            Tb_CtrlBolsaRepInformeEntity objBolsa;
            ODMEntity  objODM;
            ODMdEntity objODMd;

            decimal codigoODM;
            int     idBolsa;

            try
            {
                using (TransactionScope tran = new TransactionScope())
                {
                    objBolsa = request.Bolsa;
                    objODM   = request.ODM;

                    codigoODM = ODMData.ValidaExiste(objODM.Ben_Codigo_Solicitante, objODM.ODM_Informe);

                    if (codigoODM == 0)
                    {
                        objODM.ODM_Fecha       = DateTime.Now;
                        objODM.ODM_Hora        = DateTime.Now.ToShortTimeString();
                        objODM.ODM_Incluye     = "N";
                        objODM.ODM_Observacion = "Informe N°" + objODM.ODM_Informe;
                        objODM.ODM_Estado      = "00";
                        codigoODM = ODMData.InsertODM(objODM);
                    }

                    objBolsa.Consumo    = 0;
                    objBolsa.Tipo       = "LIBRE";
                    objBolsa.Pendiente  = 0;
                    objBolsa.Solicitado = 0;

                    idBolsa = Tb_CtrlBolsaRepInformeData.InsertBolsa(objBolsa);

                    objODMd = new ODMdEntity
                    {
                        Emp_Codigo             = objODM.Emp_Codigo,
                        Are_Codigo             = objODM.Are_Codigo,
                        Ben_Codigo             = objODM.Ben_Codigo_Solicitante,
                        COD_OFI                = objBolsa.CodiAlmacen,
                        Cod_Sistema            = objBolsa.IdTipMan,
                        DTem_Destino           = objBolsa.CodiAlmacen,
                        Cod_Componente         = objBolsa.IdTarea.ToString(),
                        DTem_Informe           = objODM.ODM_Informe.ToString(),
                        Id_CtrlBolsaRepInforme = idBolsa,
                        Mer_Codigo             = objBolsa.Codigo,
                        ODMd_Cantidad          = objBolsa.Cantidad,
                        ODMd_Observacion       = "Informe N°" + objODM.ODM_Informe,
                        ODM_Codigo             = codigoODM
                    };

                    ODMdData.InsertODMd(objODMd);

                    tran.Complete();
                }

                response = new Response <InformeResponse>
                {
                    EsCorrecto = true,
                    Valor      = new InformeResponse
                    {
                        Informe = new InformeEntity()
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #2
0
        public static Response <InformeResponse> AgregarBolsas(InformeRequest request)
        {
            Response <InformeResponse>          response;
            List <Tb_CtrlBolsaRepInformeEntity> List;
            Tb_CtrlBolsaRepInformeEntity        objBolsa;
            ODMEntity  objODM;
            ODMdEntity objODMd;
            decimal    codigoODM;
            int        idBolsa;

            try
            {
                objBolsa = request.Bolsa;
                objODM   = request.ODM;

                List = Tb_CtrlBolsaRepInformeData.AgregarBolsa(objBolsa.CodiAlmacen, objBolsa.IdTarea, Convert.ToInt32(objODM.ODM_Informe));

                if (List.Count == 0)
                {
                    BusinessException.Generar("No se encontrarón bolsas de repuestos para esta tarea");
                }

                codigoODM = ODMData.ValidaExiste(objODM.Ben_Codigo_Solicitante, objODM.ODM_Informe);

                if (codigoODM == 0)
                {
                    objODM.ODM_Fecha       = DateTime.Now;
                    objODM.ODM_Hora        = DateTime.Now.ToShortTimeString();
                    objODM.ODM_Incluye     = "N";
                    objODM.ODM_Observacion = "Informe N°" + objODM.ODM_Informe;
                    objODM.ODM_Estado      = "00";
                    codigoODM = ODMData.InsertODM(objODM);
                }

                foreach (var item in List)
                {
                    item.Consumo     = 0;
                    item.Pendiente   = 0;
                    item.Solicitado  = 0;
                    item.FechaInicio = objBolsa.FechaInicio;
                    item.IdTipMan    = objBolsa.IdTipMan;
                    idBolsa          = Tb_CtrlBolsaRepInformeData.InsertBolsa(item);

                    objODMd = new ODMdEntity
                    {
                        Emp_Codigo             = objODM.Emp_Codigo,
                        Are_Codigo             = objODM.Are_Codigo,
                        Ben_Codigo             = objODM.Ben_Codigo_Solicitante,
                        COD_OFI                = objBolsa.CodiAlmacen,
                        Cod_Sistema            = objBolsa.IdTipMan,
                        DTem_Destino           = objBolsa.CodiAlmacen,
                        Cod_Componente         = item.IdTarea.ToString(),
                        DTem_Informe           = objODM.ODM_Informe.ToString(),
                        Id_CtrlBolsaRepInforme = idBolsa,
                        Mer_Codigo             = item.Codigo,
                        ODMd_Cantidad          = item.Cantidad,
                        ODMd_Observacion       = "Informe N°" + objODM.ODM_Informe,
                        ODM_Codigo             = codigoODM
                    };

                    ODMdData.InsertODMd(objODMd);
                }

                response = new Response <InformeResponse>
                {
                    EsCorrecto = true,
                    Valor      = new InformeResponse {
                        ListBolsas = new List <ODMdList>()
                    },
                    Mensaje = "OK",
                    Estado  = true,
                };

                return(response);
            }
            catch (Exception ex)
            {
                throw;
            }
        }