/// <summary> /// Valida que no exista la produccion de formula /// </summary> internal ProduccionFormulaBatchInfo ValidarProduccionFormulaBatch(ProcesarArchivoInfo produccionFormula) { ProduccionFormulaBatchInfo resultado = null; try { Logger.Info(); var parameters = AuxProduccionFormulaBatchDAL.ObtenerParametrosValidarProduccionFormulaBatch(produccionFormula); DataSet ds = Retrieve("ProduccionFormulaBatch_ValidarBatch", parameters); if (ValidateDataSet(ds)) { resultado = MapProduccionFormulaBatchDAL.ValidarProduccionFormulaBatch(ds); } } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(resultado); }
public List <ProduccionFormulaBatchInfo> CrearListaProduccionFormulaBatch(List <ProcesarArchivoInfo> lista, string formula, int Batch, string nombrerotomix) { var listaFormulaProduccionBatch = new List <ProduccionFormulaBatchInfo>(); var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; var formulaPL = new FormulaPL(); var formulasTodas = formulaPL.ObtenerTodos(EstatusEnum.Activo); try { //sacamos los Productos var produccionAgrupada = from w in lista where w.Formula == formula && w.Marca != "2" && w.batch == Batch group w by w.Codigo into g select new { FirstLetter = g.Key, Words = g }; foreach (var z in produccionAgrupada) { var rotomixPl = new RotomixPL(); RotoMixInfo rotoMix = rotomixPl.ObtenerRotoMixXOrganizacionYDescripcion(seguridad.Usuario.Organizacion.OrganizacionID, nombrerotomix); var produccionformulabatch = new ProduccionFormulaBatchInfo(); List <ProcesarArchivoInfo> listafltrada = lista.Where(k => k.Formula == formula && k.Codigo == z.FirstLetter && k.batch == Batch).ToList(); int cantidadReal = (from prod in listafltrada select prod.Real).Sum(); int cantidadProgramada = (from prod in listafltrada select prod.Meta).Sum(); var formulaExiste = formulasTodas.FirstOrDefault( fo => fo.Descripcion.ToUpper().Trim().Equals(formula.ToUpper().Trim(), StringComparison.InvariantCultureIgnoreCase)); if (formulaExiste == null) { formulaExiste = new FormulaInfo(); } produccionformulabatch.OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID; produccionformulabatch.Batch = Batch; produccionformulabatch.ProductoID = int.Parse(z.FirstLetter); produccionformulabatch.FormulaID = formulaExiste.FormulaId; produccionformulabatch.CantidadProgramada = cantidadProgramada; produccionformulabatch.CantidadReal = cantidadReal; produccionformulabatch.Activo = EstatusEnum.Activo; produccionformulabatch.RotomixID = rotoMix.RotoMixId; listaFormulaProduccionBatch.Add(produccionformulabatch); } } catch (Exception er) { Logger.Error(er); return(null); } return(listaFormulaProduccionBatch); }
public string ValidarProduccionFormula(ProcesarArchivoInfo renglonArchivo) { var seguridad = (SeguridadInfo)ObtenerSeguridad(); renglonArchivo.OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID; string resultado; resultado = GetLocalResourceObject("OK").ToString(); var produccionFormulaBatchBL = new ProduccionFormulaBatchBL(); ProduccionFormulaBatchInfo produccion = produccionFormulaBatchBL.ValidarProduccionFormulaBatch(renglonArchivo); if (produccion != null) { return(string.Format(GetLocalResourceObject("CodeBehind.ProduccionGenerada").ToString(), renglonArchivo.batch, renglonArchivo.ProductoID, renglonArchivo.Fecha, renglonArchivo.Rotomix)); } return(resultado); }
/// <summary> /// Valida que no exista la produccion de formula /// </summary> public ProduccionFormulaBatchInfo ValidarProduccionFormulaBatch(ProcesarArchivoInfo produccionFormula) { ProduccionFormulaBatchInfo resultado = null; try { Logger.Info(); var produccionFormulaBatchDAL = new ProduccionFormulaBatchDAL(); resultado = produccionFormulaBatchDAL.ValidarProduccionFormulaBatch(produccionFormula); } catch (ExcepcionDesconocida ex) { Logger.Error(ex); throw; } catch (Exception ex) { Logger.Error(ex); throw; } return(resultado); }