public PrintedFormsModel() { PartyJournal = new PartyJournalModel(); BSOFailForm13 = new BSOFailForm13Model(); BSOOperativeInformation = new BSOOperativeInformationModel(); BSOReportForm10 = new BSOReportForm10Model(); BSOReportForm10Full = new BSOReportForm10FullModel(); SMSBaseReport = new SMSBaseReportModel(); AllocationBSO = new AllocationBSOModel(); BSOMoveReportYear = new BSOMoveReportYearModel(); ScenarioForm2 = new ScenarioForm2Model(); ClientVisitReport = new ClientVisitReportModel(); SNILSReport = new SNILSReportModel(); StatusReport = new StatusReportModel(); }
public ActionResult GetBSOReportForm10(BSOReportForm10Model model) { string NameDeliveryPoint = string.Empty; BSOListModel bsoListModel = new BSOListModel(); bsoListModel.SearchCriteriaModel.StatusDateFrom = model.DateForm10From; bsoListModel.SearchCriteriaModel.StatusDateTo = model.DateForm10To; //для Администраторов ограничений по точкам - нет if (Role.Administrator.Id == Role.GetRealRole(CurrentUser).Id || Role.AdministratorBSO.Id == Role.GetRealRole(CurrentUser).Id) { if (model.DeliveryPointIds.Count > 0) { bsoListModel.SearchCriteriaModel.DeliveryPointIds = model.DeliveryPointIds; foreach (var item in model.DeliveryPointIds) { NameDeliveryPoint = NameDeliveryPoint + ", " + model.DeliveryPoints.Where(a => a.Value == item.ToString()).Select(b => b.Text).FirstOrDefault(); } NameDeliveryPoint = NameDeliveryPoint.Trim(',', ' '); } else { NameDeliveryPoint = "Все точки"; } } else { //для ответственного if (Role.ResponsibleBSO == Role.GetRealRole(CurrentUser)) { if (model.DeliveryPointIds.Count > 0) { bsoListModel.SearchCriteriaModel.DeliveryPointIds = model.DeliveryPointIds; } else {//все точки для ответственного model.DeliveryPoints = ReferencesProvider.GetDeliveryPointsForResponsibleBSO(CurrentUser.Id, false); foreach (var item in model.DeliveryPoints) { if (item.Value != "") { model.DeliveryPointIds.Add(long.Parse(item.Value)); } } bsoListModel.SearchCriteriaModel.DeliveryPointIds = model.DeliveryPointIds; } foreach (var item in model.DeliveryPointIds) { NameDeliveryPoint = NameDeliveryPoint + ", " + model.DeliveryPoints.Where(a => a.Value == item.ToString()).Select(b => b.Text).FirstOrDefault(); } NameDeliveryPoint = NameDeliveryPoint.Trim(',', ' '); } else { //для всех остальных, только по их собственной точке bsoListModel.SearchCriteriaModel.DeliveryPointIds = new List <long>() { CurrentUser.DeliveryPoint.Id }; model.DeliveryPointIds = new List <long>() { CurrentUser.DeliveryPoint.Id }; NameDeliveryPoint = model.DeliveryPoints.Where(a => a.Value == model.DeliveryPointIds.FirstOrDefault().ToString()).Select(b => b.Text).FirstOrDefault(); } } BSOSearchCriteria criteria = bsoListModel.SearchCriteriaModel.GetBSOSearchCriteria(); List <BSOInfo> bsos = bsoBusinessLogic.BSO_Find( criteria, new List <SortCriteria <BSOSortField> >(), new PageRequest() { PageNumber = 1, PageSize = int.MaxValue }).Data; BSOReportForm10 printedForm = new BSOReportForm10(bsos, model.DateForm10From, model.DateForm10To, NameDeliveryPoint, CurrentUser.Fullname); return(File(printedForm.GetExcel(), System.Net.Mime.MediaTypeNames.Application.Octet, string.Format("Отчет по движению (статусам) временных свидетельств.xls"))); }