예제 #1
0
        public JsonResult GetApprovers(int id,
                                       [FromServices] IRepository <FormatApprover> formatApproversRepository,
                                       [FromServices] IOrganigramaModelFactory organigramaModelFactory)
        {
            var organigrama           = organigramaModelFactory.GetAllData().Employess;
            var row                   = formatApproversRepository.GetElement(id);
            var rows                  = formatApproversRepository.SearhItemsFor(u => u.Area.Equals(row.Area) && u.Centro.Equals(row.Centro) && u.Departamento.Equals(row.Departamento));
            FormatApproverModel model = new FormatApproverModel();

            if (rows.Any())
            {
                var emps = (from apv in rows
                            join org in organigrama on apv.RowGuid.ToString().ToLower() equals org.RowId.ToLower()
                            select new FormatApproverItem()
                {
                    Id = apv.Id,
                    Area = apv.Area,
                    Centro = apv.Centro,
                    Puesto = org.JobTitle,
                    RowGuid = apv.RowGuid.ToString(),
                    Approver = $"{org.Name}",
                    Order = apv.Orden
                }).ToList();

                model.Approvers = emps;
            }


            return(Json(new { area = row.Area, centro = row.Centro, depto = row.Departamento, collection = model.Approvers }));
        }
예제 #2
0
        public IActionResult ApproverIndex(
            [FromServices] IRepository <FormatApprover> formatApproversRepository,
            [FromServices] IOrganigramaModelFactory organigramaModelFactory)
        {
            FormatApproverModel model = new FormatApproverModel();
            var approvers             = formatApproversRepository.GetAll();
            var organigrama           = organigramaModelFactory.GetAllData().Employess;

            var emps = (from apv in approvers
                        join org in organigrama on apv.RowGuid.ToString().ToLower() equals org.RowId.ToLower()
                        select new FormatApproverItem()
            {
                Id = apv.Id,
                Area = apv.Area,
                Centro = apv.Centro,
                Puesto = org.JobTitle,
                RowGuid = apv.RowGuid.ToString(),
                Approver = $"{org.Name}",
                Order = apv.Orden
            }).ToList();

            model.Approvers = emps;

            List <SelectListItem> areas = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text  = "Seleccione una opción",
                    Value = "0"
                }
            };

            areas.AddRange(organigramaModelFactory.GetAreas().Select(o => new SelectListItem()
            {
                Text  = o.Descripcion,
                Value = o.Id.ToString()
            }).ToList());

            ViewBag.Areas = areas;

            return(View(model));
        }