예제 #1
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;
            }
        }
예제 #2
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;
            }
        }
예제 #3
0
        public static decimal InsertODMd(ODMdEntity objEntidad)
        {
            decimal nuevoId = 0;

            try
            {
                using (SqlConnection con = GetConnection.BDALMACEN())
                {
                    bool openConn = (con.State == ConnectionState.Open);
                    if (!openConn)
                    {
                        con.Open();
                    }

                    using (SqlCommand cmd = new SqlCommand("SP_INSERT_ODMd", con))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add("@Emp_Codigo", SqlDbType.VarChar).Value         = objEntidad.Emp_Codigo;
                        cmd.Parameters.Add("@ODM_Codigo", SqlDbType.VarChar).Value         = objEntidad.ODM_Codigo;
                        cmd.Parameters.Add("@Cod_Sistema", SqlDbType.VarChar).Value        = objEntidad.Cod_Sistema;
                        cmd.Parameters.Add("@Cod_Componente", SqlDbType.VarChar).Value     = objEntidad.Cod_Componente;
                        cmd.Parameters.Add("@Mer_Tipo", SqlDbType.VarChar).Value           = "1";
                        cmd.Parameters.Add("@Mer_Codigo", SqlDbType.VarChar).Value         = objEntidad.Mer_Codigo;
                        cmd.Parameters.Add("@ODMd_Cuenta", SqlDbType.VarChar).Value        = "";
                        cmd.Parameters.Add("@ODMd_Cantidad", SqlDbType.Decimal).Value      = objEntidad.ODMd_Cantidad;
                        cmd.Parameters.Add("@ODMd_Can_Atendida", SqlDbType.Decimal).Value  = 0;
                        cmd.Parameters.Add("@ODMd_Precio", SqlDbType.Decimal).Value        = 0;
                        cmd.Parameters.Add("@ODMd_Exonerado", SqlDbType.Decimal).Value     = 0;
                        cmd.Parameters.Add("@ODMd_Bruto", SqlDbType.Decimal).Value         = 0;
                        cmd.Parameters.Add("@ODMd_Total", SqlDbType.Decimal).Value         = 0;
                        cmd.Parameters.Add("@ODMd_VVenta", SqlDbType.Decimal).Value        = 0;
                        cmd.Parameters.Add("@ODMd_VIgv", SqlDbType.Decimal).Value          = 0;
                        cmd.Parameters.Add("@ODMd_VTotal", SqlDbType.Decimal).Value        = 0;
                        cmd.Parameters.Add("@ODMd_Observacion ", SqlDbType.VarChar).Value  = objEntidad.ODMd_Observacion;
                        cmd.Parameters.Add("@ODMd_Estado", SqlDbType.VarChar).Value        = "00";
                        cmd.Parameters.Add("@Ben_Codigo", SqlDbType.VarChar).Value         = objEntidad.Ben_Codigo;
                        cmd.Parameters.Add("@Are_Codigo", SqlDbType.VarChar).Value         = objEntidad.Are_Codigo;
                        cmd.Parameters.Add("@DTem_Informe", SqlDbType.VarChar).Value       = objEntidad.DTem_Informe;
                        cmd.Parameters.Add("@DTem_Destino", SqlDbType.VarChar).Value       = objEntidad.DTem_Destino;
                        cmd.Parameters.Add("@COD_OFI", SqlDbType.VarChar).Value            = objEntidad.COD_OFI;
                        cmd.Parameters.Add("@Id_CtrlBolsaRepInforme", SqlDbType.Int).Value = objEntidad.Id_CtrlBolsaRepInforme;
                        cmd.Parameters.Add("@ODMd_Codigo", SqlDbType.Decimal).Value        = 0;
                        cmd.Parameters["@ODMd_Codigo"].Direction = ParameterDirection.Output;
                        cmd.ExecuteNonQuery();
                        nuevoId = Convert.ToDecimal(cmd.Parameters["@ODMd_Codigo"].Value);
                        cmd.Dispose();
                    }

                    if (con.State == ConnectionState.Open)
                    {
                        con.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(nuevoId);
        }