Пример #1
0
 public ActionResult Editar(short?id, AlmacenDTO model)
 {
     if (Session["StringToken"] == null)
     {
         return(View(AutenticacionServicio.InitIndex(new Models.Seguridad.LoginModel())));
     }
     tkn = Session["StringToken"].ToString();
     if (id != null)
     {
         return(RedirectToAction("ActualizacionExistencias", AlmacenServicio.ActivarEditarAlmacen(id.Value, tkn)));
     }
     else
     {
         var respuesta = AlmacenServicio.ModificarAlmacen(model, tkn);
         if (respuesta.Exito)
         {
             return(RedirectToAction("ActualizacionExistencias", new { msj = respuesta.Mensaje }));
         }
         else
         {
             TempData["RespuestaDTO"] = respuesta;
             return(RedirectToAction("ActualizacionExistencias"));
         }
     }
 }
Пример #2
0
        public static RespuestaDTO ModificarAlmacen(AlmacenDTO dto, string tkn)
        {
            var agente = new AgenteServicio();

            agente.ActualizarAlmacen(dto, tkn);
            return(agente._RespuestaDTO);
        }
Пример #3
0
        public JsonResult GetById(AlmacenDTO almacenDTO)
        {
            var jsonResponse = new JsonResponse {
                Success = true
            };

            try
            {
                var almacen       = MapperHelper.Map <AlmacenDTO, Almacen>(almacenDTO);
                var almacenResult = AlmacenBL.Instancia.GetById(almacen);
                if (almacenResult != null)
                {
                    almacenDTO        = MapperHelper.Map <Almacen, AlmacenDTO>(almacenResult);
                    jsonResponse.Data = almacenDTO;
                }
                else
                {
                    jsonResponse.Warning = true;
                    jsonResponse.Message = Mensajes.UsuarioNoExiste;
                }
            }
            catch (Exception ex)
            {
                LogError(ex);
                jsonResponse.Success = false;
                jsonResponse.Message = Mensajes.IntenteloMasTarde;
            }

            return(Json(jsonResponse));
        }
Пример #4
0
 public ActionResult ActualizacionExistencias(AlmacenDTO model = null, string msj = null)
 {
     if (Session["StringToken"] == null)
     {
         return(RedirectToAction("Index", "Home"));
     }
     tkn = Session["StringToken"].ToString();
     //var Pagina = page ?? 1;
     ViewBag.EsAdmin   = TokenServicio.ObtenerEsAdministracionCentral(tkn);
     ViewBag.Productos = AlmacenServicio.BuscarProductosAlmacen(TokenServicio.ObtenerIdEmpresa(tkn), tkn);
     if (!string.IsNullOrEmpty(msj))
     {
         ViewBag.Confirmacion = msj;
     }
     if (TempData["RespuestaDTO"] != null)
     {
         ViewBag.MensajeError = Validar((RespuestaDTO)TempData["RespuestaDTO"]);
     }
     if (model != null && model.IdProductoLinea != 0)
     {
         ViewBag.EsEdicion = true;
     }
     if (ViewBag.EsAdmin)
     {
         ViewBag.Empresas = CatalogoServicio.Empresas(tkn);
     }
     else
     {
         ViewBag.Empresas = CatalogoServicio.Empresas(tkn).SingleOrDefault().NombreComercial;
     }
     return(View(model));
 }
Пример #5
0
        public JsonResult Add(AlmacenDTO almacenDTO)
        {
            var jsonResponse = new JsonResponse {
                Success = true
            };

            try
            {
                int resultado = 0;
                var almacen   = MapperHelper.Map <AlmacenDTO, Almacen>(almacenDTO);

                resultado = AlmacenBL.Instancia.Add(almacen);

                if (resultado > 0)
                {
                    jsonResponse.Title   = Title.TitleRegistro;
                    jsonResponse.Message = Mensajes.RegistroSatisfactorio;
                }
                else
                {
                    jsonResponse.Title   = Title.TitleAlerta;
                    jsonResponse.Warning = true;
                    jsonResponse.Message = Mensajes.RegistroFallido;
                }


                LogBL.Instancia.Add(new Log
                {
                    Accion        = Mensajes.Add,
                    Controlador   = Mensajes.UsuarioController,
                    Identificador = resultado,
                    Mensaje       = jsonResponse.Message,
                    Usuario       = almacenDTO.UsuarioRegistro,
                    Objeto        = JsonConvert.SerializeObject(almacenDTO)
                });
            }
            catch (Exception ex)
            {
                LogError(ex);
                jsonResponse.Success = false;
                jsonResponse.Title   = Title.TitleAlerta;
                jsonResponse.Message = Mensajes.IntenteloMasTarde;

                LogBL.Instancia.Add(new Log
                {
                    Accion        = Mensajes.Add,
                    Controlador   = Mensajes.UsuarioController,
                    Identificador = 0,
                    Mensaje       = ex.Message,
                    Usuario       = almacenDTO.UsuarioRegistro,
                    Objeto        = JsonConvert.SerializeObject(almacenDTO)
                });
            }

            return(Json(jsonResponse));
        }
Пример #6
0
        /// <summary>
        /// Busca el ingreso en el ListadoAlmacenDTO de tipo XML archivado en el servidor, y pobla su objeto de tipo AlmacenDTO.
        /// </summary>
        /// <param name="_orden">Orden de Producción</param>
        /// <param name="_lote">Número de Lote</param>
        /// <param name="_user">Nombre de Usuario que realiza la acción</param>
        /// <returns>Objeto de tipo AlmacenDTO con los datos de ingreso.</returns>
        ///
        public AlmacenDTO DetalleAlmacen(string _orden, int _lote, string _user)
        {
            List <AlmacenDTO> _lista = new List <AlmacenDTO>();

            _lista = _listXml.ConvertXmlToListAlmacen(_user);
            AlmacenDTO _almacen = (from a in _lista
                                   where a.Orden == _orden
                                   & int.Parse(a.NroLote) == _lote
                                   select a).FirstOrDefault();

            return(_almacen);
        }
        public ActionResult Create(JsonHeader collection)
        {
            AlmacenDTO almacenDTO = new AlmacenDTO();
            Dictionary <string, string> editDictionary    = WebHelper.JsonToDictionary(collection.Header);
            JsonResultMessage           jsonResultMessage = new JsonResultMessage();

            try
            {
                if (collection.EditAction == EditActionConstant.EDIT)
                {
                    almacenDTO.AlmacenId = Convert.ToInt32(editDictionary["AlmacenId"]);
                }

                //almacenDTO.EmpresaId = Convert.ToInt32(editDictionary["EmpresaId"]);
                almacenDTO.SucursalId = Convert.ToInt32(editDictionary["SucursalId"]);

                almacenDTO.Nombre    = editDictionary["Nombre"].ToString();
                almacenDTO.Direccion = editDictionary["Direccion"].ToString();
                almacenDTO.Nombre    = editDictionary["Nombre"].ToString();
                almacenDTO.Telefono  = editDictionary["Telefono"].ToString();
                if (editDictionary.ContainsKey("StockSn"))
                {
                    almacenDTO.StockSn = "S";
                }
                else
                {
                    almacenDTO.StockSn = "N";
                }

                almacenDTO.Estado            = EstadoConstante.ACTIVO;
                almacenDTO.UsuarioCreacionId = 1;
                almacenDTO.FechaCreacion     = DateTime.Now;

                if (collection.EditAction == EditActionConstant.NEW)
                {
                    almacenService.Create(almacenDTO);
                }
                else
                {
                    almacenService.Update(almacenDTO);
                }

                jsonResultMessage.message = "Almacen grabado satisfactoriamente.";
            }
            catch (Exception ex)
            {
                jsonResultMessage.success = false;
                jsonResultMessage.message = ex.Message;
            }
            return(Json(jsonResultMessage));
        }
Пример #8
0
        /// <summary>
        /// Evento de Cambio de Selección del GridView gridControlFinal
        /// </summary>
        /// <remarks>
        /// En este evento se obtienen los valores de Orden de Produción y Npumero de Lote del GridView gridControlFinal, para consultar
        /// su detalle llamando al procedimiento BLL Detalle de Almacen y mostrar cada uno de sus campos en Etiquetas.
        /// </remarks>
        /// <param name="sender">Objeto llamador del evento</param>
        /// <param name="e">Argumentos que contienen datos del evento</param>
        protected void gridControlFinal_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow row     = gridControlFinal.SelectedRow;
            string      Orden   = ((Label)row.FindControl("lblOrden")).Text;
            int         Lote    = int.Parse(((Label)row.FindControl("lblLote")).Text);
            AlmacenDTO  _result = _almacenBll.DetalleAlmacen(Orden, Lote, usuarioActual);

            switch (_result.CodAlmacen)
            {
            case 95:
                lblAlmacen.Text = "ANNTARAH";
                break;

            case 93:
                lblAlmacen.Text = "CONTRAMUESTRAS";
                break;

            case 98:
                lblAlmacen.Text = "Remate Productos no conformes";
                break;

            case 90:
                lblAlmacen.Text = "PROD. TERMINADOS";
                break;

            case 112:
                lblAlmacen.Text = "Stock Art Atlas";
                break;

            default:
                lblAlmacen.Text = "Otro";
                break;
            }
            lblCodProducto.Text = _result.CodProducto;
            lblOrden.Text       = _result.Orden;
            lblLote.Text        = _result.NroLote;
            lblContrato.Text    = _result.Contrato;
            lblCantidad.Text    = _result.Cantidad.ToString();

            lblOrdenConfirm.Text = _result.Orden;
            lblLoteConfirm.Text  = _result.NroLote;
        }
Пример #9
0
        /// <summary>
        /// Crea un archivo XML con el Listado de Almacen, en la siquiente ruta del servidor: C:\inetpub\wwwroot\PSIAA\
        /// </summary>
        /// <param name="alm">Objeto de tipo AlmacenDTO</param>
        /// <param name="_user">Nombre de usuario</param>
        public void AgregarAlmacenToXML(AlmacenDTO alm, string _user)
        {
            XDocument miXML         = new XDocument();
            XElement  nuevoElemento = new XElement("AlmacenDTO",
                                                   new XElement("CodAlmacen", alm.CodAlmacen),
                                                   new XElement("TipoMovimiento", alm.TipoMovimiento),
                                                   new XElement("IngresoSalida", alm.IngresoSalida),
                                                   new XElement("AlmacenOrigenDestino", alm.AlmacenOrigenDestino),
                                                   new XElement("CodProducto", alm.CodProducto),
                                                   new XElement("Orden", alm.Orden),
                                                   new XElement("NroLote", alm.NroLote),
                                                   new XElement("Contrato", alm.Contrato),
                                                   new XElement("Tallas",
                                                                new XElement("Talla1", alm.Tallas[0]),
                                                                new XElement("Talla2", alm.Tallas[1]),
                                                                new XElement("Talla3", alm.Tallas[2]),
                                                                new XElement("Talla4", alm.Tallas[3]),
                                                                new XElement("Talla5", alm.Tallas[4]),
                                                                new XElement("Talla6", alm.Tallas[5]),
                                                                new XElement("Talla7", alm.Tallas[6])),
                                                   new XElement("Cantidad", alm.Cantidad),
                                                   new XElement("PesoBruto", alm.PesoBruto),
                                                   new XElement("PesoNeto", alm.PesoNeto)
                                                   );

            string _ruta = @"C:\inetpub\wwwroot\PSIAA\ListadoAlmacenDTO_" + _user + ".xml";

            if (File.Exists(_ruta))
            {
                miXML = new XDocument();
                miXML = XDocument.Load(_ruta);
                miXML.Root.Add(nuevoElemento);
            }
            else
            {
                miXML = new XDocument(
                    new XDeclaration("1.0", "utf-8", null),
                    new XElement("ListadoAlmacenDTO", nuevoElemento));
            }
            miXML.Save(_ruta);
        }
Пример #10
0
        public RespuestaDTO <AlmacenDTO> InsertarAlmacen(AlmacenDTO almacen)
        {
            using (db = new Contexto())
            {
                RespuestaDTO <AlmacenDTO> response = new RespuestaDTO <AlmacenDTO>();
                try
                {
                    // preparar el cliente para guardar
                    Almacen almacenDAL = new Almacen();
                    almacenDAL.Direccion = almacen.Direccion;
                    almacenDAL.Nombre    = almacen.Nombre;
                    almacenDAL.Correo    = almacen.Correo;
                    almacenDAL.Telefono  = almacen.Telefono;

                    db.Almacenes.Add(almacenDAL);

                    // preparar la respuesta
                    response.Rows     = db.SaveChanges();
                    response.Mensagge = "Se realizó la operación satisfactoriamente";
                    almacen.AlmacenId = almacenDAL.AlmacenId;
                    response.Data     = almacen;
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                {
                    response.Mensagge = "Se Ha Presentado Un Error Al Guardar El Almacen";
                    response.Errors.Add(new ResponseErrorDTO(ex.GetHashCode().ToString(), ex.Message));
                    return(response);
                }
                catch (Exception ex)
                {
                    response.Mensagge = "Se Ha Presentado Un Error";
                    response.Errors.Add(new ResponseErrorDTO(ex.GetHashCode().ToString(), ex.Message));
                }
                return(response);
            }
        }
        public ActionResult Create(string editAction, string almacenId)
        {
            AlmacenDTO almacenDTO = new AlmacenDTO();

            try
            {
                switch (editAction)
                {
                case EditActionConstant.NEW:
                    ViewBag.Title         = "Nuevo Almacen";
                    almacenDTO.EditAction = editAction;
                    break;

                case EditActionConstant.EDIT:
                    ViewBag.Title = "Editar Almacen";
                    almacenDTO    = almacenService.GetById(Convert.ToInt32(almacenId));
                    if (almacenDTO.StockSn == "S")
                    {
                        almacenDTO.StockSn = "1";
                    }
                    else
                    {
                        almacenDTO.StockSn = "0";
                    }

                    almacenDTO.EditAction = editAction;
                    break;
                }
                listDropList();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(PartialView(almacenDTO));
        }
Пример #12
0
        /// <summary>
        /// Ejecuta una consulta de inserción a la tabla detalle_almacen.
        /// </summary>
        /// <param name="_almacenDto">Objeto de tipo AlmacenDTO</param>
        /// <returns>Variable de tipo int con la cantidad de registros ingresados.</returns>
        public int InsertDetalleAlmacen(AlmacenDTO _almacenDto)
        {
            List <SqlParameter> _sqlParam = new List <SqlParameter>();

            string query = @"
                insert into detalle_almacen(
	                almacen,
	                tipo_movimiento,
	                numero_documento,
	                item_doc,
	                fecha_operacion,
	                ingreso_salida,
	                almacen_origdest,
	                cod_producto,
	                numero,
	                nro_lote,
	                contrato,
	                xxs,xs,s,m,l,xl,xxl,
	                cantidad,
	                peso_bruto,
	                peso_neto,
	                saldo_operacion, costo_soles, costo_dolar, precio_vta_soles,
	                precio_costo, descuento_soles, precio_venta_dolares, porc_descuento,
	                descuento_dolares, tc, Observaciones, costo_adicional_soles, costo_adicional_dolares
                ) values(
	                @almacen,
	                @tipomovimiento,
	                @documento,
	                @item,
	                convert(date, getdate()),
	                @ingresosalida,
	                @almacenorigendestino,
	                @codproducto,
	                @orden,
	                @nrolote,
	                @contrato,
	                @talla1, @talla2, @talla3, @talla4, @talla5, @talla6, @talla7,
	                @cantidad,
	                @pesobruto,
	                @pesoneto,
	                0,0,0,0,0,0,0,0,0,0,'',0,0
                )";

            _sqlParam.Add(new SqlParameter("@almacen", SqlDbType.Int)
            {
                Value = _almacenDto.CodAlmacen
            });
            _sqlParam.Add(new SqlParameter("@tipomovimiento", SqlDbType.VarChar)
            {
                Value = _almacenDto.TipoMovimiento
            });
            _sqlParam.Add(new SqlParameter("@documento", SqlDbType.VarChar)
            {
                Value = _almacenDto.NumeroDocumento
            });
            _sqlParam.Add(new SqlParameter("@item", SqlDbType.Int)
            {
                Value = _almacenDto.Item
            });
            _sqlParam.Add(new SqlParameter("@ingresosalida", SqlDbType.Int)
            {
                Value = _almacenDto.IngresoSalida
            });
            _sqlParam.Add(new SqlParameter("@almacenorigendestino", SqlDbType.Int)
            {
                Value = _almacenDto.AlmacenOrigenDestino
            });
            _sqlParam.Add(new SqlParameter("@codproducto", SqlDbType.VarChar)
            {
                Value = _almacenDto.CodProducto
            });
            _sqlParam.Add(new SqlParameter("@orden", SqlDbType.VarChar)
            {
                Value = _almacenDto.Orden.ToUpper()
            });
            _sqlParam.Add(new SqlParameter("@nrolote", SqlDbType.VarChar)
            {
                Value = _almacenDto.NroLote
            });
            _sqlParam.Add(new SqlParameter("@contrato", SqlDbType.VarChar)
            {
                Value = _almacenDto.Contrato
            });
            _sqlParam.Add(new SqlParameter("@talla1", SqlDbType.Int)
            {
                Value = _almacenDto.Tallas[0]
            });
            _sqlParam.Add(new SqlParameter("@talla2", SqlDbType.Int)
            {
                Value = _almacenDto.Tallas[1]
            });
            _sqlParam.Add(new SqlParameter("@talla3", SqlDbType.Int)
            {
                Value = _almacenDto.Tallas[2]
            });
            _sqlParam.Add(new SqlParameter("@talla4", SqlDbType.Int)
            {
                Value = _almacenDto.Tallas[3]
            });
            _sqlParam.Add(new SqlParameter("@talla5", SqlDbType.Int)
            {
                Value = _almacenDto.Tallas[4]
            });
            _sqlParam.Add(new SqlParameter("@talla6", SqlDbType.Int)
            {
                Value = _almacenDto.Tallas[5]
            });
            _sqlParam.Add(new SqlParameter("@talla7", SqlDbType.Int)
            {
                Value = _almacenDto.Tallas[6]
            });
            _sqlParam.Add(new SqlParameter("@cantidad", SqlDbType.Int)
            {
                Value = _almacenDto.Cantidad
            });
            _sqlParam.Add(new SqlParameter("@pesobruto", SqlDbType.Int)
            {
                Value = _almacenDto.PesoBruto
            });
            _sqlParam.Add(new SqlParameter("@pesoneto", SqlDbType.Int)
            {
                Value = _almacenDto.PesoNeto
            });

            return(_trans.ExecuteQuery(query, _sqlParam));
        }
Пример #13
0
 public IHttpActionResult CreateAlmacen(AlmacenDTO model)
 {
     return(GetActionResult(new Callback(CreateAlmacen), model));
 }
Пример #14
0
        /// <summary>
        /// Agrega un nuevo elemento al contenido del archivo XML donde es almacenado cada ingreso, y devuelve el contenido completo.
        /// En el primer ingreso siempre se crea dos archivos XML por cada modelo de objeto: RecepcionControlDTO y AlmacenDTO.
        /// En el caso de que el ingreso ya existiera en el contenido del archivo Xml, solo devuelve el contenido completo.
        /// </summary>
        /// <param name="_orden">Orden de Producción de Ingreso</param>
        /// <param name="_lote">Número de Lote</param>
        /// <param name="_codAlmacen">Codigo de Almacén al cual va dirigido el ingreso</param>
        /// <param name="_pieza">Cantidad de piezas a ingresar</param>
        /// <param name="_talla">Talla de la pieza a ingresar</param>
        /// <param name="_user">Nombre de usuario que realiza el ingreso</param>
        /// <param name="duplicado">Parametro de Salida con valor verdadero o falso, en el caso de que el ingreso existiera en
        /// el contenido del archivo XML</param>
        /// <returns>Lista genérica de tipo RecepcionControlDTO poblada con todos los ingresos</returns>
        ///
        public List <RecepcionControlDTO> PoblarListasDeIngresoAlmacen(string _orden, int _lote, int _codAlmacen,
                                                                       int _pieza, string _talla, string _user, out bool duplicado)
        {
            DataRow drResultLanzamiento = _lanzamientoDal.SelectLanzamientoPorOrden(_orden, _lote).Rows[0];

            object[] TallasPiezas = drResultLanzamiento.ItemArray;
            object[] _tallas      = TallasPiezas.Skip(4).Take(9).ToArray();
            object[] _piezas      = TallasPiezas.Skip(13).Take(9).ToArray();
            int      _cantidad    = _piezas.Cast <int>().ToArray().Sum();

            //COMPARAR REGISTROS DUPLICADOS
            _listRecepcionControl = _listXml.ConvertXmlToListRecepcionControl(_user);
            if (_listRecepcionControl.Find(x => (x.Orden == _orden) && (x.Lote == _lote)) != null)
            {
                duplicado = true;
                return(_listRecepcionControl);
            }
            else
            {
                RecepcionControlDTO _recepcionControlDto = new RecepcionControlDTO()
                {
                    Almacen  = 800,
                    Orden    = _orden.Trim(),
                    Lote     = _lote,
                    Tallas   = _tallas.Cast <string>().ToArray(),
                    Piezas   = _piezas.Cast <int>().ToArray(),
                    Completo = _cantidad == _pieza ? 'S' : 'N',
                    //Peso = decimal.Parse(_result[2].ToString() == "" ? "0" : _result[2].ToString()),
                    Peso          = 0,
                    PiezaDeCambio = _cantidad == _pieza ? 0 : _pieza,
                    Usuario       = _user
                };

                //TALLAS PARA ALMACEN
                object[] _piezasAlmacen = _piezas.Take(7).ToArray();

                //LLENAR LISTA OBJETO ALMACEN
                AlmacenDTO _almacenDto = new AlmacenDTO()
                {
                    CodAlmacen     = _codAlmacen,
                    TipoMovimiento = "IPRD",
                    //NumeroDocumento = "",
                    //Item = _item,
                    IngresoSalida        = 1,
                    AlmacenOrigenDestino = 0,
                    CodProducto          = "PT-" + drResultLanzamiento["Modelo"].ToString().Trim() +
                                           "-" + drResultLanzamiento["Color"].ToString().Trim() +
                                           "-" + _talla.Trim() + "/" +
                                           drResultLanzamiento["Contrato"].ToString(),
                    Orden         = _orden.Trim(),
                    NroLote       = _lote.ToString(),
                    Contrato      = drResultLanzamiento["Contrato"].ToString(),
                    Tallas        = _piezasAlmacen.Cast <int>().ToArray(),
                    Cantidad      = _cantidad == _pieza ? _cantidad : _pieza,
                    PesoBruto     = _cantidad == _pieza ? _cantidad : _pieza,
                    PesoNeto      = _cantidad == _pieza ? _cantidad : _pieza,
                    TallaDeCambio = _cantidad == _pieza ? 0 : _pieza
                };

                //CONVERTIR XML - LISTA
                _listXml.AgregarAlmacenToXML(_almacenDto, _user);
                _listXml.AgregarRecepcionControlToXML(_recepcionControlDto, _user);
                duplicado = false;
                return(_listXml.ConvertXmlToListRecepcionControl(_user));
            }
        }