public void SetEstado(IModelView model, EstadosModel nuevoEstado)
        {
            var currentValidationService = _validationService as ReservasstockValidation;

            currentValidationService.CambiarEstado = true;
            model.set("fkestados", nuevoEstado.CampoId);
            edit(model);
            currentValidationService.CambiarEstado = false;
        }
        public virtual void AsignaId(TPersistance objPer, ref IModelView objView)
        {
            var objext = objView as IModelViewExtension;
            var prop   = objPer.GetType().GetProperty(objext?.primaryKey.FirstOrDefault()?.Name ?? string.Empty) ??
                         objPer.GetType().GetProperty(objext?.primaryKey.FirstOrDefault()?.Name.FirstToUpper() ?? string.Empty) ??
                         objPer.GetType().GetProperty(objext?.primaryKey.FirstOrDefault()?.Name.ToLower() ?? string.Empty);

            if (prop != null && prop.GetValue(objPer) != null)
            {
                objView.set(objext.primaryKey.First().Name, prop.GetValue(objPer));
            }
        }
Example #3
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);
                }
            }
        }
        public override void create(IModelView obj)
        {
            using (var tran = Marfil.Inf.Genericos.Helper.TransactionScopeBuilder.CreateTransactionObject())
            {
                var model      = obj as FacturasComprasModel;
                var validation = _validationService as FacturasComprasValidation;
                validation.EjercicioId = EjercicioId;
                var contador = ServiceHelper.GetNextId <FacturasCompras>(_db, Empresa, model.Fkseries);
                var identificadorsegmento = "";
                model.Referencia            = ServiceHelper.GetReference <FacturasCompras>(_db, model.Empresa, model.Fkseries, contador, model.Fechadocumento.Value, out identificadorsegmento);
                model.Identificadorsegmento = identificadorsegmento;
                DocumentosHelpers.GenerarCarpetaAsociada(obj, TipoDocumentos.FacturasCompras, _context, _db);
                var newItem = _converterModel.CreatePersitance(obj);

                if (_validationService.ValidarGrabar(newItem))
                {
                    _db.Set <FacturasCompras>().Add(newItem);
                    try
                    {
                        _db.SaveChanges();
                        obj.set("Id", newItem.id);
                    }
                    catch (DbUpdateException ex)
                    {
                        if (ex.InnerException != null &&
                            ex.InnerException.InnerException != null)
                        {
                            var inner = ex.InnerException.InnerException as SqlException;
                            if (inner != null)
                            {
                                if (inner.Number == 2627 || inner.Number == 2601)
                                {
                                    throw new ValidationException(General.ErrorRegistroExistente);
                                }
                            }
                        }


                        throw;
                    }
                }

                ModificarCantidadesPedidasAlbaranes(obj as FacturasComprasModel);

                _db.SaveChanges();
                tran.Complete();
            }
        }
        public void SetEstado(IModelView model, EstadosModel nuevoEstado)
        {
            var aux = model as FacturasComprasModel;
            //var modelFacturas =get(aux.Id.ToString()) as FacturasComprasModel;
            //if (modelFacturas.Estado.Tipoestado < TipoEstado.Finalizado)
            //{
            var currentValidationService = _validationService as FacturasComprasValidation;

            currentValidationService.CambiarEstado = true;
            currentValidationService.Margenfactura = _appService.GetConfiguracion(_db).Margenfacturacompra;
            model.set("fkestados", nuevoEstado.CampoId);
            edit(model);
            currentValidationService.CambiarEstado = false;
            //}
            //else
            //{
            //    throw new Exception("No se puede modificar una factura en estado " + modelFacturas.Estadodescripcion);
            //}
        }
        public override void create(IModelView obj)
        {
            using (var tran = TransactionScopeBuilder.CreateTransactionObject())
            {
                var newItem = _converterModel.CreatePersitance(obj);
                if (_validationService.ValidarGrabar(newItem))
                {
                    _db.Set <Configuraciongraficas>().Add(newItem);
                    try
                    {
                        _db.SaveChanges();
                        obj.set("Codigo", newItem.id);
                    }
                    catch (DbUpdateException ex)
                    {
                        if (ex.InnerException != null &&
                            ex.InnerException.InnerException != null)
                        {
                            var inner = ex.InnerException.InnerException as SqlException;
                            if (inner != null)
                            {
                                if (inner.Number == 2627 || inner.Number == 2601)
                                {
                                    throw new ValidationException(General.ErrorRegistroExistente);
                                }
                            }
                        }


                        throw;
                    }
                }

                ActualizarPreferencias(obj as ConfiguraciongraficasModel);
                tran.Complete();
            }
        }