예제 #1
0
        public SalidaalmacenImpGuiaRemisionFrm(Tipodocmov tipodocmov, VwSocionegocio vwSocionegocioSel, Almacen almacenSel, SalidaalmacenMntFrm salidaalmacenMntFrm)
        {
            InitializeComponent();
            var styleController = new StyleController();

            WinFormUtils.SetStyleController(this, styleController);
            TipodocmovSel       = tipodocmov;
            VwSocionegocioSel   = vwSocionegocioSel;
            AlmacenSel          = almacenSel;
            SalidaalmacenMntFrm = salidaalmacenMntFrm;
        }
예제 #2
0
        private void ShowFormMnt()
        {
            if (TipoMnt == TipoMantenimiento.SinEspecificar)
            {
                throw new ArgumentException("No se especifico el tipo de mantenimiento.");
            }

            AsignarIdEntidadMnt();
            var formMnt = new SalidaalmacenMntFrm(IdEntidadMnt, TipoMnt, gcConsulta, this);

            formMnt.ShowDialog();

            switch (formMnt.DataEntityState)
            {
            case DataEntityState.Added:
                VwSalidaalmacen vwSalidaalmacenAdded = Service.GetVwSalidaalmacen(x => x.Idsalidaalmacen == formMnt.IdEntidadMnt);
                VwSalidaalmacenList.Add(vwSalidaalmacenAdded);
                IdEntidadMnt = formMnt.IdEntidadMnt;
                SetFocusIdEntity();
                EstadoBotonesMantenimiento();
                break;

            case DataEntityState.Modified:
                VwSalidaalmacen vwSalidaalmacenUnchanged = VwSalidaalmacenList.FirstOrDefault(x => x.Idsalidaalmacen == formMnt.IdEntidadMnt);
                int             index = VwSalidaalmacenList.IndexOf(vwSalidaalmacenUnchanged);
                VwSalidaalmacenList.Remove(vwSalidaalmacenUnchanged);
                if (vwSalidaalmacenUnchanged != null)
                {
                    VwSalidaalmacenList.Insert(index, Service.GetVwSalidaalmacen(x => x.Idsalidaalmacen == formMnt.IdEntidadMnt));
                }
                break;

            case DataEntityState.Deleted:
                VwSalidaalmacenList.Remove(VwSalidaalmacenList.SingleOrDefault(x => x.Idsalidaalmacen == formMnt.IdEntidadMnt));
                break;
            }

            gcConsulta.RefreshDataSource();
            gvConsulta.BestFitColumns(true);
        }
예제 #3
0
        private void bmMntItems_ItemClick(object sender, ItemClickEventArgs e)
        {
            var subMenu = e.Item as BarSubItem;

            if (subMenu != null)
            {
                return;
            }


            switch (e.Item.Name)
            {
            case "btnImportar":

                if (!Validaciones())
                {
                    return;
                }

                if (SalidaalmacenMntFrm.IdEntidadMnt == 0)
                {
                    if (!SalidaalmacenMntFrm.Validaciones())
                    {
                        return;
                    }

                    string numeroDoc = string.Format("{0} {1}-{2}", SalidaalmacenMntFrm.iIdtipocp.Text.Trim(), SalidaalmacenMntFrm.rSeriesalidaalmacen.Text.Trim(), SalidaalmacenMntFrm.rNumerosalidaalmacen.Text.Trim());
                    if (DialogResult.No == XtraMessageBox.Show(string.Format("¿Desea guardar el documento {0}?", numeroDoc),
                                                               "Atención", MessageBoxButtons.YesNo,
                                                               MessageBoxIcon.Question, MessageBoxDefaultButton.Button1))
                    {
                        return;
                    }
                    VwGuiaremision vwGuiaremisionSel = (VwGuiaremision)gvConsulta.GetFocusedRow();
                    SalidaalmacenMntFrm.SalidaalmacenMnt.Idguiaremision       = vwGuiaremisionSel.Idguiaremision;
                    SalidaalmacenMntFrm.SalidaalmacenMnt.Incluyeimpuestoitems = vwGuiaremisionSel.Incluyeimpuestoitems;
                    SalidaalmacenMntFrm.iIncluyeimpuestoitems.EditValue       = vwGuiaremisionSel.Incluyeimpuestoitems;
                    SalidaalmacenMntFrm.iIdtipomoneda.EditValue = vwGuiaremisionSel.Idtipomoneda;
                    SalidaalmacenMntFrm.iIdtipomoneda.ReadOnly  = true;
                    SalidaalmacenMntFrm.iTipocambio.EditValue   = vwGuiaremisionSel.Tipocambio;

                    if (SalidaalmacenMntFrm.Guardar())
                    {
                        SalidaalmacenMntFrm.DeshabilitarModificacion();
                    }
                }

                if (SalidaalmacenMntFrm.IdEntidadMnt > 0)
                {
                    foreach (var item in VwGuiaremisionimpsalidaalmacenList.Where(x => x.Itemseleccionado))
                    {
                        Salidaalmacendet salidaalmacendetMnt = AsignarSalidaAlmacenDetalle(item);

                        int idsalidaalmacendet = Service.SaveSalidaalmacendet(salidaalmacendetMnt);
                        if (idsalidaalmacendet > 0)
                        {
                            //Verificar las ubicacion registradas por articulo
                            long cantidadRefUbicaciones = Service.CountVwArticuloubicacion(
                                x => x.Idarticulo == salidaalmacendetMnt.Idarticulo &&
                                x.Idalmacen == (int)iIdalmacen.EditValue);

                            if (cantidadRefUbicaciones == 0)
                            {
                                //Insertar ubicacion por defecto
                                Salidaalmacenubicacion salidaalmacenubicacion = new Salidaalmacenubicacion
                                {
                                    Idsalidaalmacendet = idsalidaalmacendet,
                                    Idubicacion        = Convert.ToInt32(AlmacenSel.Idubicaciondefecto),
                                    Cantidadarticulo   = salidaalmacendetMnt.Cantidad
                                };
                                Service.SaveSalidaalmacenubicacion(salidaalmacenubicacion);
                            }
                            else
                            {
                                //Insertar la ubicaciones del articulo del almacen seleccionado
                                List <VwArticuloubicacion> vwArticuloubicacionList = Service.GetAllVwArticuloubicacion(
                                    x => x.Idarticulo == salidaalmacendetMnt.Idarticulo &&
                                    x.Idalmacen == (int)iIdalmacen.EditValue);

                                foreach (var vwArticuloubicacion in vwArticuloubicacionList)
                                {
                                    Salidaalmacenubicacion salidaalmacenubicacion = new Salidaalmacenubicacion
                                    {
                                        Idsalidaalmacendet = idsalidaalmacendet,
                                        Idubicacion        = vwArticuloubicacion.Idubicacion,
                                        Cantidadarticulo   = 0m
                                    };
                                    Service.SaveSalidaalmacenubicacion(salidaalmacenubicacion);
                                }
                            }
                        }
                    }

                    SalidaalmacenMntFrm.CargarDetalle();
                    SalidaalmacenMntFrm.CargarDocumentoReferencia();
                }

                DialogResult = DialogResult.OK;

                break;

            case "btnCancelarItem":
                DialogResult = DialogResult.Cancel;
                break;

            case "btnConsultar":
                if (!ValidacionDatosConsulta())
                {
                    return;
                }
                CargarDocumentosPendientes();


                break;

            case "btnCerrar":
                DialogResult = DialogResult.Cancel;
                break;
            }
        }