예제 #1
0
        public ActionResult AssetByLocation()
        {
            Report_AssetByLocationViewModel model = new Report_AssetByLocationViewModel()
            {
                ms_company_list     = new List <ms_asmin_company>(),
                asset_location_list = new List <ms_asset_location>(),
                id              = 11,
                report_title    = "Laporan Fix Asset",
                report_rdlc     = "rpt01_AssetByLocation.rdlc",
                company         = UserProfile.company_id,
                asset_register  = UserProfile.asset_reg_location_id,
                enabled_distric = true,
                enabled_company = true,
                display_format  = EnumDisplayFormatKey.WEB
            };

            try
            {
                //report AssetByLocation ini saya kasi no 11

                model.company    = UserProfile.company_id;
                model.ms_company = db.ms_asmin_company.Find(UserProfile.company_id);

                model.asset_register             = UserProfile.asset_reg_location_id;
                model.ms_asset_register_location = UserProfile.register_location;

                //Set Location List
                if (UserProfile.asset_reg_location_id == 1)
                {
                    model.asset_location_list = (from m in db.ms_asset_location.Where(m => (m.fl_active == true && m.deleted_date == null))
                                                 select m).ToList();
                }
                else  //branch
                {
                    model.asset_location_list = (from m in db.ms_asset_location.Where(m => (m.fl_active == true && m.deleted_date == null && m.asset_reg_location_id == UserProfile.asset_reg_location_id))
                                                 select m).ToList();
                }
                //Set Financial Statement
                //value false for Commercial
                //value true for Fiscal
                string[] arr_finstm = new string[2] {
                    "Commercial", "Fiscal"
                };
                List <SelectListItem> finstm_list = new List <SelectListItem>();
                for (int loop_int = 0; loop_int <= 1; loop_int++)
                {
                    finstm_list.Add(new SelectListItem
                    {
                        Text  = arr_finstm[loop_int],
                        Value = (loop_int + 1).ToString()
                    });
                }
                model.fin_statement_list = finstm_list;
            }
            catch (Exception _ex) { ASM_UI.App_Helpers.app_logwriter.ToLog("" + _ex.Message); }
            return(View(model));
        }
예제 #2
0
        public ActionResult AssetByLocationDisplayed(Report_AssetByLocationViewModel model)
        {
            model.id           = 11;
            model.report_title = "Laporan Fix Asset";

            if (model.flag_consolidation)
            {
                model.report_subtitle = "";
                model.report_rdlc     = "rpt01_AssetByLocationConsolidation.rdlc";
            }
            else
            {
                model.report_subtitle = "Disctric";
                model.report_rdlc     = "rpt01_AssetByLocation.rdlc";
            }
            model.company        = UserProfile.company_id;
            model.asset_register = UserProfile.asset_reg_location_id;

            if (model.ms_company == null)
            {
                model.ms_company = db.ms_asmin_company.Find(UserProfile.company_id);
            }

            if (model.ms_asset_register_location == null)
            {
                model.ms_asset_register_location = UserProfile.register_location;
            }

            if (model.asset_location == null)
            {
                model.asset_location = db.ms_asset_location.Find(model.location_id);
            }


            if (ModelState.IsValid && model.id == 11)
            {
                ds01_AssetByLocaation _ds = new ds01_AssetByLocaation();
                string constring          = WebConfigurationManager.ConnectionStrings["ModelAsmRemote"].ConnectionString;
                try
                {
                    var o_conn = new SqlConnection(constring);
                    o_conn.Open();

                    var o_cmd = new SqlCommand();
                    o_cmd.Connection  = o_conn;
                    o_cmd.CommandText = "SP_REPORT_AssetByLocation @company_id, @location_register_id, @location_id, @ReportType, @DateStart, @DateEnd";
                    o_cmd.Parameters.AddWithValue("@company_id", model.company);
                    o_cmd.Parameters.AddWithValue("@location_register_id", model.asset_register);

                    if (model.flag_consolidation)
                    {
                        o_cmd.Parameters.AddWithValue("@location_id", 0);
                    }
                    else
                    {
                        o_cmd.Parameters.AddWithValue("@location_id", model.location_id);
                    }

                    o_cmd.Parameters.AddWithValue("@ReportType", model.fin_statement_id);
                    o_cmd.Parameters.AddWithValue("@DateStart", model.start_date);
                    o_cmd.Parameters.AddWithValue("@DateEnd", model.end_date);

                    o_cmd.CommandTimeout = DB_TIMEOUT;
                    SqlDataAdapter o_da = new SqlDataAdapter(o_cmd);
                    o_da.Fill(_ds, "TAssetByLocation");
                    o_cmd.Dispose();
                    o_conn.Close();

                    if (_ds.TAssetByLocation.Count > 0)
                    {
                        ds01_AssetByLocaation.TReportInfoRow _row = _ds.TReportInfo.NewTReportInfoRow();
                        _row.report_name  = model.report_title;
                        _row.report_title = model.report_title;
                        if (model.flag_consolidation)
                        {
                            _row.report_subtitle    = "";
                            _row.report_title_line1 = "";
                        }
                        else
                        {
                            _row.report_subtitle    = string.Format("Distric : {0}", model.ms_asset_register_location.asset_reg_location_name.ToUpper());
                            _row.report_title_line1 = string.Format("Lokasi : {0}", model.asset_location.location_name.ToUpper());
                        }

                        _row.report_title_line2 = "Periode - Closing Date";
                        _row.report_title_line3 = string.Format("{0:dd-MMM-yyyy} - {1:dd-MMM-yyyy}", model.start_date, model.end_date);

                        string book_type = "";
                        book_type = (model.fin_statement_id == 1) ? "Commercial" : "Fiscal";
                        _row.report_title_line4 = "Financial Statement : " + book_type;
                        _ds.TReportInfo.AddTReportInfoRow(_row);

                        ds01_AssetByLocaation.TReportParameterRow _rowparam = _ds.TReportParameter.NewTReportParameterRow();
                        //_rowparam.p_category = model.ms_asset_category.category_name;
                        _rowparam.p_company  = model.ms_company.company_name;
                        _rowparam.p_location = model.ms_asset_register_location.asset_reg_location_name;
                        //_rowparam.p_year = model.pyear.ToString();
                        //_rowparam.p_month = arr_month[model.pmonth].ToString();

                        _ds.TReportParameter.AddTReportParameterRow(_rowparam);

                        ReportDataSource dsMain       = new ReportDataSource("dsMain", (DataTable)_ds.TAssetByLocation);
                        ReportDataSource dsReportInfo = new ReportDataSource("dsReportInfo", (DataTable)_ds.TReportInfo);
                        ReportDataSource dsParameter  = new ReportDataSource("dsParameter", (DataTable)_ds.TReportParameter);

                        var reportViewer = new ReportViewer();
                        reportViewer.LocalReport.ReportPath = Server.MapPath("~/Rdlc/" + model.report_rdlc);
                        reportViewer.LocalReport.DataSources.Clear();

                        reportViewer.LocalReport.DataSources.Add(dsMain);
                        reportViewer.LocalReport.DataSources.Add(dsReportInfo);
                        reportViewer.LocalReport.DataSources.Add(dsParameter);
                        reportViewer.LocalReport.Refresh();

                        reportViewer.ProcessingMode      = ProcessingMode.Local;
                        reportViewer.AsyncRendering      = false;
                        reportViewer.SizeToReportContent = true;
                        reportViewer.ZoomMode            = ZoomMode.FullPage;

                        //ViewBag.ReportViewer = reportViewer;
                        TempData["reportviewer"] = reportViewer;
                        return(RedirectToAction("ReportDisplay"));
                    }
                }
                catch (Exception _ex)
                {
                    ASM_UI.App_Helpers.app_logwriter.ToLog("" + _ex.Message);
                    TempData["error"] = _ex.Message;
                }
            }
            return(View(model));
        }