//private void EntregarStock(ReservasstockModel nuevo)
        //{
        //    foreach (var item in nuevo.Lineas)
        //        item.Cantidad *= -1;
        //    OperarStock(nuevo, TipoOperacionStock.Salida, TipoOperacionService.InsertarReservaStock);
        //}

        #endregion

        #region Edit

        public override void edit(IModelView obj)
        {
            using (var tran = Marfil.Inf.Genericos.Helper.TransactionScopeBuilder.CreateTransactionObject())
            {
                var original = get(Funciones.Qnull(obj.get("id"))) as ReservasstockModel;
                var editado  = obj as ReservasstockModel;
                if (original.Integridadreferencial == editado.Integridadreferencial)
                {
                    var validation = _validationService as ReservasstockValidation;
                    validation.EjercicioId = EjercicioId;
                    DocumentosHelpers.GenerarCarpetaAsociada(obj, TipoDocumentos.Reservas, _context, _db);
                    base.edit(obj);

                    if (!_flagconsumirreserva)
                    {
                        GenerarMovimientosLineas(original, original.Lineas, TipoOperacionService.EliminarReservaStock);
                        if (original.Estado.Tipoestado != editado.Estado.Tipoestado)
                        {
                            if (editado.Estado.Tipoestado != TipoEstado.Anulado && editado.Estado.Tipoestado != TipoEstado.Caducado)
                            {
                                GenerarMovimientosLineas(editado, editado.Lineas, TipoOperacionService.InsertarReservaStock);
                            }
                        }
                    }
                    //ActualizarStock(original, editado, false);

                    _db.SaveChanges();
                    tran.Complete();
                }
                else
                {
                    throw new IntegridadReferencialException(string.Format(General.ErrorIntegridadReferencial, RReservasstock.TituloEntidad, original.Referencia));
                }
            }
        }
        public virtual TPersistance EditPersitance(IModelView obj)
        {
            var objext = obj as IModelViewExtension;
            var result = _db.Set <TPersistance>().Find(obj.get(objext.primaryKey.First().Name));

            foreach (var item in result.GetType().GetProperties())
            {
                if ((obj.GetType().GetProperty(item.Name.FirstToUpper())?.PropertyType.IsGenericType ?? false) &&
                    obj.GetType().GetProperty(item.Name.FirstToUpper())?.PropertyType.GetGenericTypeDefinition() !=
                    typeof(ICollection <>))
                {
                    item.SetValue(result, obj.GetType().GetProperty(item.Name.FirstToUpper())?.GetValue(obj, null));
                }
                else if (obj.GetType().GetProperty(item.Name.FirstToUpper())?.PropertyType.IsEnum ?? false)
                {
                    item.SetValue(result, (int)obj.GetType().GetProperty(item.Name.FirstToUpper())?.GetValue(obj, null));
                }
                else if (!obj.GetType().GetProperty(item.Name.FirstToUpper())?.PropertyType.IsGenericType ?? false)
                {
                    item.SetValue(result, obj.GetType().GetProperty(item.Name.FirstToUpper())?.GetValue(obj, null));
                }
            }

            return(result);
        }
        public override Municipios EditPersitance(IModelView obj)
        {
            var model  = obj as MunicipiosModel;
            var result = _db.Set <Municipios>().Single(f => f.codigopais == model.Codigopais && f.codigoprovincia == model.Codigoprovincia && f.cod == model.Cod);

            foreach (var item in result.GetType().GetProperties())
            {
                item.SetValue(result, obj.get(item.Name));
            }

            return(result);
        }
Beispiel #4
0
        public override Unidades EditPersitance(IModelView obj)
        {
            var objext    = obj as IModelViewExtension;
            var viewmodel = obj as UnidadesModel;
            var result    = _db.Set <Unidades>().Single(f => f.id == viewmodel.Id);

            foreach (var item in result.GetType().GetProperties())
            {
                item.SetValue(result, obj.get(item.Name));
            }

            return(result);
        }
Beispiel #5
0
        public override Puertos EditPersitance(IModelView obj)
        {
            var model  = obj as PuertosModel;
            var result = _db.Set <Puertos>().Single(f => f.fkpaises == model.Fkpaises && f.id == model.Id);

            foreach (var item in result.GetType().GetProperties())
            {
                item.SetValue(result, obj.get(item.Name));
            }


            return(result);
        }
Beispiel #6
0
        public override Direcciones EditPersitance(IModelView obj)
        {
            var objext = obj as IModelViewExtension;
            var st     = obj as DireccionesLinModel;
            var result = _db.Set <Direcciones>().Single(f => f.id == st.Id && f.empresa == st.Empresa && f.tipotercero == (int)st.Tipotercero && f.fkentidad == st.Fkentidad);

            foreach (var item in result.GetType().GetProperties())
            {
                item.SetValue(result, obj.get(item.Name));
            }


            return(result);
        }
        public override Contactos EditPersitance(IModelView obj)
        {
            var objext = obj as IModelViewExtension;
            var st     = obj as ContactosLinModel;
            var result = _db.Set <Contactos>().Single(f => f.id == st.Id && f.empresa == st.Empresa && f.fkentidad == st.Fkentidad);

            foreach (var item in result.GetType().GetProperties())
            {
                var type = item.PropertyType;
                if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable <>))
                {
                    var value     = obj.get(item.Name);
                    var t         = Nullable.GetUnderlyingType(item.PropertyType) ?? item.PropertyType;
                    var safeValue = (value == null) ? null : Convert.ChangeType(value, t);
                    item.SetValue(result, safeValue);
                }
                else
                {
                    item.SetValue(result, obj.get(item.Name));
                }
            }

            return(result);
        }
        //private void EntregarStock(AlbaranesModel nuevo)
        //{
        //    foreach (var item in nuevo.Lineas)
        //        item.Cantidad *= -1;
        //    OperarStock(nuevo, TipoOperacionStock.Salida,TipoOperacionService.InsertarEntregaStock);
        //}

        #endregion

        #region Edit

        public override void edit(IModelView obj)
        {
            using (var tran = Marfil.Inf.Genericos.Helper.TransactionScopeBuilder.CreateTransactionObject())
            {
                var original = get(Funciones.Qnull(obj.get("id"))) as AlbaranesModel;
                var editado  = obj as AlbaranesModel;

                base.edit(obj);
                //ActualizarStock(original, editado);
                GenerarMovimientosLineas(original.Lineas, original, TipoOperacionService.EliminarEntregaStock);
                GenerarMovimientosLineas(editado.Lineas, editado, TipoOperacionService.InsertarEntregaStock);

                tran.Complete();
            }
        }
Beispiel #9
0
        //Editar
        public override void edit(IModelView obj)
        {
            using (var tran = TransactionScopeBuilder.CreateTransactionObject())
            {
                var original = get(Funciones.Qnull(obj.get("id"))) as ImputacionCostesModel;
                var editado  = obj as ImputacionCostesModel;

                foreach (var lote in editado.LineasLotes)
                {
                    lote.Empresa            = editado.Empresa;
                    lote.Fkimputacioncostes = editado.Id.Value;
                }

                if (original.Integridadreferencialflag == editado.Integridadreferencialflag)
                {
                    var validation = _validationService as ImputacionCostesValidation;
                    validation.EjercicioId = EjercicioId;

                    var estadosService   = FService.Instance.GetService(typeof(EstadosModel), _context, _db) as EstadosService;
                    var listestados      = estadosService.GetStates(DocumentoEstado.DivisionesLotes); //Lista de estados
                    var estadoFinalizado = listestados.First(f => f.Tipoestado == TipoEstado.Finalizado);

                    //Repartimos costes lineas y actualizamos las tablas del stock
                    if (editado.Fkestados == estadoFinalizado.CampoId)
                    {
                        //Calcular costesadicionales costexm2 o costexm3
                        CalcularCosteTotalMetros(editado.LineasLotes.ToList(), editado.LineasCostes.ToList());
                        //Repartimos los costes en las lineas
                        RepartirCostesLineas(editado.LineasLotes.ToList(), editado.LineasCostes.ToList());
                        //Generamos el movimiento
                        GenerarMovimientosLineas(editado.LineasLotes, editado, TipoOperacionService.InsertarCostes);
                    }

                    editado.Identificadorsegmento = original.Identificadorsegmento;

                    base.edit(editado);
                    _db.SaveChanges();
                    tran.Complete();
                }
                else
                {
                    throw new IntegridadReferencialException(string.Format(General.ErrorIntegridadReferencial, RImputacionCostes.TituloEntidad, original.Referencia));
                }
            }
        }
Beispiel #10
0
        public override void edit(IModelView obj)
        {
            using (var tran = Marfil.Inf.Genericos.Helper.TransactionScopeBuilder.CreateTransactionObject())
            {
                var original = get(Funciones.Qnull(obj.get("id"))) as InventariosModel;
                var editado  = obj as InventariosModel;
                if (original.Integridadreferencial == editado.Integridadreferencial)
                {
                    base.edit(obj);

                    _db.SaveChanges();
                    tran.Complete();
                }
                else
                {
                    throw new IntegridadReferencialException(string.Format(General.ErrorIntegridadReferencial, RInventarios.TituloEntidad, original.Referencia));
                }
            }
        }
        public override void edit(IModelView obj)
        {
            using (var tran = TransactionScopeBuilder.CreateTransactionObject())
            {
                var original = get(Funciones.Qnull(obj.get("id"))) as TransformacioneslotesModel;
                var editado  = obj as TransformacioneslotesModel;

                if (original.Integridadreferencialflag == editado.Integridadreferencialflag)
                {
                    var validation = _validationService as TransformacioneslotesValidation;
                    validation.EjercicioId = EjercicioId;

                    DocumentosHelpers.GenerarCarpetaAsociada(editado, TipoDocumentos.TransformacionesAcabados, _context, _db);

                    // Calcular costesadicionales costexm2 o costexm3
                    CalcularCosteTotalMetros(editado.Lineas, editado.Costes);

                    RepartirCostesLineas(editado.Lineas, editado.Costes, original.Costes);

                    base.edit(obj);
                    var trabajosService = FService.Instance.GetService(typeof(TrabajosModel), _context) as TrabajosService;
                    var trabajosObj     = trabajosService.get(editado.Fktrabajos) as TrabajosModel;

                    var materialesService = FService.Instance.GetService(typeof(MaterialesModel), _context) as MaterialesService;
                    var materialesObj     = materialesService.get(editado.Fkmateriales) as MaterialesModel;

                    //ActualizarStock(original,editado, trabajosObj);
                    //GenerarMovimientosLineas(original.Lineas, original, TipoOperacionService.ActualizarTransformacionloteStock, trabajosObj);
                    //GenerarMovimientosLineas(editado.Lineas, editado, TipoOperacionService.InsertarTransformacionloteStock, trabajosObj);
                    GenerarMovimientosLineas(original.Lineas, original, TipoOperacionService.ActualizarTransformacionloteStock, trabajosObj, materialesObj, false);
                    GenerarMovimientosLineas(editado.Lineas, editado, TipoOperacionService.InsertarTransformacionloteStock, trabajosObj, materialesObj, false);
                    _db.SaveChanges();
                    tran.Complete();
                }
                else
                {
                    throw new IntegridadReferencialException(string.Format(General.ErrorIntegridadReferencial, RTransformacioneslotes.TituloEntidad, original.Referencia));
                }
            }
        }
Beispiel #12
0
        public static void GenerarCarpetaAsociada(IModelView model, TipoDocumentos tipo, IContextService context, MarfilEntities db)
        {
            var carpetasService  = FService.Instance.GetService(typeof(CarpetasModel), context, db) as CarpetasService;
            var ejercicioService = FService.Instance.GetService(typeof(EjerciciosModel), context, db) as EjerciciosService;

            if (tipo != TipoDocumentos.Articulos && tipo != TipoDocumentos.Materiales && tipo != TipoDocumentos.GrupoMateriales && tipo != TipoDocumentos.Almacenes && tipo != TipoDocumentos.Familias && tipo != TipoDocumentos.TransformacionesAcabados)
            {
                var ejercicioModel = ejercicioService.get(model.get("Fkejercicio").ToString()) as EjerciciosModel;

                if (!carpetasService.ExisteCarpeta(Path.Combine(ConfigurationManager.AppSettings["FileManagerNodoRaiz"],
                                                                Funciones.GetEnumByStringValueAttribute(tipo), ejercicioModel.Descripcioncorta, model.get("Referencia").ToString())))
                {
                    var carpeta = carpetasService.GenerarCarpetaAsociadaDocumento(tipo, ejercicioModel.Descripcioncorta, model.get("Referencia").ToString());
                    model.set("Fkcarpetas", carpeta.Id);
                }
                else
                {
                    var ruta    = carpetasService.GenerateRutaCarpeta(tipo, ejercicioModel.Descripcioncorta, model.get("Referencia").ToString());
                    var carpeta = carpetasService.GetCarpeta(ruta);
                    model.set("Fkcarpetas", carpeta.Id);
                }
            }
            else
            {
                if (!carpetasService.ExisteCarpeta(Path.Combine(ConfigurationManager.AppSettings["FileManagerNodoRaiz"],
                                                                tipo.ToString(), "Imagenes", model.GetPrimaryKey())))
                {
                    var carpeta = carpetasService.GenerarCarpetaAsociada(tipo.ToString(), "Imagenes", model.GetPrimaryKey());
                    model.set("Fkcarpetas", carpeta.Id);
                }
                else
                {
                    var ruta    = carpetasService.GenerateRutaCarpeta(tipo.ToString(), "Imagenes", model.GetPrimaryKey());
                    var carpeta = carpetasService.GetCarpeta(ruta);
                    model.set("Fkcarpetas", carpeta.Id);
                }
            }
        }
Beispiel #13
0
        public override void edit(IModelView obj)
        {
            using (var tran = Marfil.Inf.Genericos.Helper.TransactionScopeBuilder.CreateTransactionObject())
            {
                var original = get(Funciones.Qnull(obj.get("id"))) as AlbaranesModel;
                var editado  = obj as AlbaranesModel;
                if (original.Integridadreferencial == editado.Integridadreferencial)
                {
                    var validation = _validationService as AlbaranesValidation;
                    validation.EjercicioId = EjercicioId;
                    DocumentosHelpers.GenerarCarpetaAsociada(obj, TipoDocumentos.AlbaranesVentas, _context, _db);
                    base.edit(obj);

                    ModificarCantidadesPedidasPedidos(obj as AlbaranesModel);
                    _db.SaveChanges();
                    tran.Complete();
                }
                else
                {
                    throw new IntegridadReferencialException(string.Format(General.ErrorIntegridadReferencial, RAlbaranes.TituloEntidad, original.Referencia));
                }
            }
        }
        public override void edit(IModelView obj)
        {
            var currentValidationService = _validationService as TraspasosalmacenValidation;

            if (!currentValidationService.ModificarCostes)
            {
                throw new NotImplementedException();
            }

            using (var tran = TransactionScopeBuilder.CreateTransactionObject())
            {
                var original = get(Funciones.Qnull(obj.get("id"))) as TraspasosalmacenModel;
                var editado  = obj as TraspasosalmacenModel;
                RepartirCostesLineas(editado.Lineas, editado.Costes, original.Costes);
                ModificarLotesLineas(editado);

                base.edit(obj);
                //ActualizarStock(original, obj as TraspasosalmacenModel);
                GenerarMovimientosLineas(original.Lineas, original, TipoOperacionService.EliminarTraspasosalmacen);
                GenerarMovimientosLineas(editado.Lineas, editado, TipoOperacionService.ActualizarTraspasosalmacen);
                _db.SaveChanges();
                tran.Complete();
            }
        }