public static ShiftFormViewModel Create(ITShiftRepository tShiftRepository, DateTime?closingDate)
        {
            ShiftFormViewModel viewModel = new ShiftFormViewModel();
            TShift             s         = new TShift();

            s.ShiftDate = closingDate;

            s.ShiftDateTo = DateTime.Now;

            //get lats shift
            TShift lastShift = tShiftRepository.GetLastShiftByDate(s.ShiftDate);

            if (lastShift != null)
            {
                s.ShiftNo       = lastShift.ShiftNo + 1;
                s.ShiftDateFrom = lastShift.ShiftDateTo;
            }
            else
            {
                s.ShiftNo       = 1;
                s.ShiftDateFrom = DateTime.Today;
            }
            viewModel.Shift = s;
            return(viewModel);
        }
        private ReportDataSource GetShiftViewModel(TShift s)
        {
            IList <TShift> listShift = new List <TShift>();

            listShift.Add(s);
            var listRoom = from shift in listShift
                           select new
            {
                shift.ShiftNo,
                shift.ShiftDate,
                shift.ShiftDateFrom,
                shift.ShiftDateTo
            }
            ;
            ReportDataSource reportDataSource = new ReportDataSource("ShiftViewModel", listRoom.ToList());

            return(reportDataSource);
        }
Beispiel #3
0
        public ActionResult Closing(TShift viewModel, FormCollection formCollection)
        {
            _tShiftRepository.DbContext.BeginTransaction();

            TShift s = new TShift();

            s.SetAssignedIdTo(Guid.NewGuid().ToString());
            s.ShiftDate     = viewModel.ShiftDate;
            s.ShiftDateFrom = Convert.ToDateTime(string.Format("{0:dd-MMM-yyyy} {1:HH:mm}", s.ShiftDate.Value, viewModel.ShiftDateFrom.Value));
            s.ShiftDateTo   = Convert.ToDateTime(string.Format("{0:dd-MMM-yyyy} {1:HH:mm}", s.ShiftDate.Value, viewModel.ShiftDateTo.Value));
            s.ShiftNo       = viewModel.ShiftNo;

            s.CreatedBy   = User.Identity.Name;
            s.CreatedDate = DateTime.Now;
            s.DataStatus  = EnumDataStatus.New.ToString();

            _tShiftRepository.Save(s);
            bool   Success;
            string Message;

            try
            {
                _tShiftRepository.DbContext.CommitTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success;
                Success = true;
                Message = "Data berhasil disimpan";
            }
            catch (Exception ex)
            {
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed;
                Success = false;
                Message = ex.Message;
            }
            var e = new { Success, Message };

            return(Json(e, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Report(EnumReports reports, ReportParamViewModel viewModel, FormCollection formCollection)
        {
            ReportDataSource[] repCol = new ReportDataSource[1];
            switch (reports)
            {
            case EnumReports.RptBrand:
                repCol[0] = GetBrand();
                break;

            case EnumReports.RptCostCenter:
                repCol[0] = GetCostCenter();
                break;

            case EnumReports.RptJournal:
                repCol[0] = GetJournalDet(viewModel.DateFrom, viewModel.DateTo, viewModel.CostCenterId);
                break;

            case EnumReports.RptNeraca:
                repCol[0] = GetRecAccount(EnumAccountCatType.NERACA, viewModel.CostCenterId, viewModel.RecPeriodId);
                break;

            case EnumReports.RptLR:
                repCol[0] = GetRecAccount(EnumAccountCatType.LR, viewModel.CostCenterId, viewModel.RecPeriodId);
                break;

            case EnumReports.RptStockCard:
                repCol[0] = GetStockCard(viewModel.DateFrom, viewModel.DateTo, viewModel.ItemId, viewModel.WarehouseId);
                break;

            case EnumReports.RptStockItem:
                repCol[0] = GetStockItem(viewModel.ItemId, viewModel.WarehouseId);
                break;

            case EnumReports.RptAnalyzeBudgetDetail:
                repCol[0] = GetTransDetForBudget(viewModel.ItemId, viewModel.WarehouseId);
                break;

            case EnumReports.RptPrintFacturService:
                repCol = new ReportDataSource[3];
                TTrans trans = _tTransRepository.Get(viewModel.TransId);
                repCol[0] = GetTrans(trans);
                repCol[1] = GetTransDet(trans.TransDets);
                repCol[2] = GetTransRoom(viewModel.TransId);
                break;

            case EnumReports.RptServiceOmzet:
                repCol = new ReportDataSource[2];
                TShift s = _tShiftRepository.GetByDateAndShiftNo(viewModel.DateFrom, viewModel.ShiftNo);
                repCol[0] = GetShiftViewModel(s);
                repCol[1] = GetServiceOmzet(s.ShiftDateFrom, s.ShiftDateTo);
                break;

            case EnumReports.RptCommissionRecap:
                repCol[0] = GetTransDetByDate(viewModel.DateFrom, viewModel.DateTo);
                break;

            case EnumReports.RptCommission:
                repCol[0] = GetTransDetByDate(viewModel.DateFrom, viewModel.DateTo);
                break;

            case EnumReports.RptCustomerBirthday:
                repCol[0] = GetCustomerBirthday(viewModel.DateFrom, viewModel.DateTo);
                break;
            }
            Session["ReportData"] = repCol;

            var e = new
            {
                Success   = true,
                Message   = "redirect",
                UrlReport = string.Format("{0}", reports.ToString())
            };

            return(Json(e, JsonRequestBehavior.AllowGet));
            //string reportType = formCollection["ExportFormat"];
            //string mimeType, encoding, fileNameExtension;

            ////The DeviceInfo settings should be changed based on the reportType
            ////http://msdn2.microsoft.com/en-us/library/ms155397.aspx

            //string deviceInfo =
            //"<DeviceInfo>" +
            //string.Format("  <OutputFormat>{0}</OutputFormat>", formCollection["ExportFormat"]) +
            //"  <PageWidth>8.5in</PageWidth>" +
            //"  <PageHeight>11in</PageHeight>" +
            //"  <MarginTop>0.5in</MarginTop>" +
            //"  <MarginLeft>0.5in</MarginLeft>" +
            //"  <MarginRight>0.5in</MarginRight>" +
            //"  <MarginBottom>0.5in</MarginBottom>" +
            //"</DeviceInfo>";

            //Warning[] warnings;
            //string[] streams;
            //byte[] renderedBytes;

            ////Render the report
            //renderedBytes = localReport.Render(
            //    reportType,
            //    deviceInfo,
            //    out mimeType,
            //    out encoding,
            //    out fileNameExtension,
            //    out streams,
            //    out warnings);

            //Response.AddHeader("content-disposition", string.Format("attachment; filename={0}.{1}", reports.ToString(), fileNameExtension));

            //return File(renderedBytes, mimeType);
        }