//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); }
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); }
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); }
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(); } }
//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)); } } }
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)); } } }
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); } } }
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(); } }