예제 #1
0
        public List <TableModels> GetListTable(string StoreID = null, string ID = null, List <string> ListOrganizationId = null)
        {
            List <TableModels> listdata = new List <TableModels>();

            try
            {
                TableApiModels paraBody = new TableApiModels();
                paraBody.AppKey      = Commons.AppKey;
                paraBody.AppSecret   = Commons.AppSecret;
                paraBody.CreatedUser = Commons.CreateUser;

                paraBody.StoreID = StoreID;
                paraBody.ID      = ID;

                paraBody.ListOrgID = ListOrganizationId;

                var     result     = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.GetTable, null, paraBody);
                dynamic data       = result.Data;
                var     lstZ       = data["ListTable"];
                var     lstContent = JsonConvert.SerializeObject(lstZ /*result.RawData*/);
                listdata = JsonConvert.DeserializeObject <List <TableModels> >(lstContent);
                return(listdata);
            }
            catch (Exception e)
            {
                _logger.Error("Table_GetList: " + e);
                return(listdata);
            }
        }
예제 #2
0
        public bool InsertOrUpdateTables(TableModels model, ref string msg)
        {
            try
            {
                TableApiModels paraBody = new TableApiModels();
                paraBody.AppKey        = Commons.AppKey;
                paraBody.AppSecret     = Commons.AppSecret;
                paraBody.CreatedUser   = Commons.CreateUser;
                paraBody.RegisterToken = new RegisterTokenModels();

                paraBody.ID      = model.ID;
                paraBody.StoreID = model.StoreID;

                paraBody.Name                = model.Name;
                paraBody.ZoneID              = model.ZoneID;
                paraBody.Cover               = model.Cover;
                paraBody.ViewMode            = model.ViewMode;
                paraBody.XPoint              = -1;
                paraBody.YPoint              = -1;
                paraBody.ZPoint              = -1;
                paraBody.IsActive            = model.IsActive;
                paraBody.IsShowInReservation = model.IsShowInReservation;
                paraBody.IsTemp              = model.IsTemp;
                //====================
                var result = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.CreateOrEditTable, null, paraBody);
                if (result != null)
                {
                    if (result.Success)
                    {
                        return(true);
                    }
                    else
                    {
                        _logger.Error(result.Message);
                        msg = result.Message;
                        msg = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(msg);
                        return(false);
                    }
                }
                else
                {
                    _logger.Error(result);
                    return(false);
                }
            }
            catch (Exception e)
            {
                _logger.Error("Table_InsertOrUpdate: " + e);
                return(false);
            }
        }
예제 #3
0
        public bool DeleteTables(string ID, ref string msg)
        {
            try
            {
                TableApiModels paraBody = new TableApiModels();
                paraBody.AppKey        = Commons.AppKey;
                paraBody.AppSecret     = Commons.AppSecret;
                paraBody.CreatedUser   = Commons.CreateUser;
                paraBody.RegisterToken = new RegisterTokenModels();

                paraBody.ID = ID;
                //====================
                var result = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.DeleteTable, null, paraBody);
                if (result != null)
                {
                    if (result.Success)
                    {
                        return(true);
                    }
                    else
                    {
                        msg = result.Message;
                        _logger.Error(result.Message);
                        return(false);
                    }
                }
                else
                {
                    _logger.Error(result);
                    return(false);
                }
            }
            catch (Exception e)
            {
                msg = e.ToString();
                _logger.Error("Tables_Delete: " + e);
                return(false);
            }
        }
예제 #4
0
        public StatusResponse Export(ref IXLWorksheet ws, List <string> lstStore)
        {
            StatusResponse Response = new StatusResponse();

            try
            {
                List <TableModels> listData = new List <TableModels>();

                TableApiModels paraBody = new TableApiModels();
                paraBody.AppKey      = Commons.AppKey;
                paraBody.AppSecret   = Commons.AppSecret;
                paraBody.CreatedUser = Commons.CreateUser;
                paraBody.ListStoreID = lstStore;

                var     result     = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.ExportTable, null, paraBody);
                dynamic data       = result.Data;
                var     lstC       = data["ListTable"];
                var     lstContent = JsonConvert.SerializeObject(lstC);
                listData = JsonConvert.DeserializeObject <List <TableModels> >(lstContent);
                listData = listData.OrderBy(o => o.StoreName).ToList();
                int cols = 10;
                //Header
                int row = 1;
                ws.Cell("A" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Index");
                ws.Cell("B" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Name");
                ws.Cell("C" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Maximum Capacity");
                ws.Cell("D" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Zone");
                ws.Cell("E" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Status");
                ws.Cell("F" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Online Reservation");
                ws.Cell("G" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Store");
                ws.Cell("H" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Style");
                ws.Cell("I" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Position X");
                ws.Cell("J" + row).Value = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Position Y");
                //Item
                row = 2;
                int countIndex = 1;
                foreach (var item in listData)
                {
                    ws.Cell("A" + row).Value = countIndex;
                    ws.Cell("B" + row).Value = item.Name;
                    ws.Cell("C" + row).Value = item.Cover;
                    ws.Cell("D" + row).Value = item.ZoneName;
                    ws.Cell("E" + row).Value = item.IsActive ? _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Active") : _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("InActive");
                    ws.Cell("F" + row).Value = item.IsShowInReservation ? _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Yes") : _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("No");
                    ws.Cell("G" + row).Value = item.StoreName;
                    ws.Cell("H" + row).Value = item.ViewMode == (byte)Commons.ETableStyle.Circle ? _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons.ETableStyle.Circle.ToString()) :
                                               item.ViewMode == (byte)Commons.ETableStyle.Rectangle ? _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons.ETableStyle.Rectangle.ToString()) :
                                               item.ViewMode == (byte)Commons.ETableStyle.Square ? _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons.ETableStyle.Square.ToString()) : _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons.ETableStyle.Other.ToString());
                    ws.Cell("I" + row).Value = item.XPoint;
                    ws.Cell("J" + row).Value = item.YPoint;
                    row++;
                    countIndex++;
                }
                FormatExcelExport(ws, row, cols);
                Response.Status = true;
            }
            catch (Exception e)
            {
                Response.Status   = false;
                Response.MsgError = e.Message;
            }
            finally
            {
            }
            return(Response);
        }
예제 #5
0
        // IMPORT
        public StatusResponse Import(HttpPostedFileBase excelFile, List <string> lstStore, ref ImportModel importModel, ref string msg)
        {
            StatusResponse Response = new StatusResponse();
            DataTable      dt       = new DataTable();

            FileInfo[] lstFileImg = new FileInfo[] { };
            Response = ProcessDataImport(ref dt, excelFile, "SBSettingTable.xlsx", out lstFileImg);

            if (!Response.Status)
            {
                msg = Response.MsgError;
                Response.MsgError = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(msg);
                return(Response);
            }

            List <TableModels> listData = new List <TableModels>();

            ImportItem itemErr    = null;
            bool       flagInsert = true;
            string     msgError   = "";

            foreach (var item in lstStore)
            {
                foreach (DataRow row in dt.Rows)
                {
                    try
                    {
                        flagInsert = true;
                        msgError   = "";

                        string rowText = "";

                        for (int i = 0; i < dt.Columns.Count; i++)
                        {
                            rowText += row[i].ToString().Trim();
                        }

                        if (string.IsNullOrEmpty(rowText))
                        {
                            continue;
                        }

                        double      doubleVal = 0;
                        TableModels model     = new TableModels();

                        model.Index = row[0].ToString();
                        // 1 - Name
                        model.Name = row[1].ToString().Trim().Replace("  ", " ");

                        // 2 - Maximum Capacity
                        double.TryParse(row[2].ToString(), out doubleVal);
                        model.Cover = (int)doubleVal;

                        // 3 - Zone
                        model.ZoneName = row[3].ToString().Trim().Replace("  ", " ");

                        // 4 - IsActive
                        model.IsActive = GetBoolValue(dt.Columns[4].ColumnName.Replace("#", "."), row[0].ToString(), row[4].ToString());

                        // 5 - Online Reservation
                        string sIsAllowOpenValue = row[5].ToString().Equals("") ? _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("No") : row[5].ToString();
                        model.IsShowInReservation = GetBoolValue(dt.Columns[5].ColumnName.Replace("#", "."), row[0].ToString(), sIsAllowOpenValue);

                        // 6 - Store
                        model.StoreID = item;

                        // 7 - Style
                        string sStyle = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(row[7].ToString());
                        model.ViewMode = sStyle.Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons.ETableStyle.Circle.ToString())) ? (byte)Commons.ETableStyle.Circle :
                                         sStyle.Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons.ETableStyle.Rectangle.ToString())) ? (byte)Commons.ETableStyle.Rectangle :
                                         sStyle.Equals(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(Commons.ETableStyle.Square.ToString())) ? (byte)Commons.ETableStyle.Square : (byte)Commons.ETableStyle.Other;

                        // 8 - XPoint
                        double.TryParse(row[8].ToString(), out doubleVal);
                        model.XPoint = (byte)doubleVal;

                        // 9 - YPoint
                        double.TryParse(row[9].ToString(), out doubleVal);
                        model.YPoint = (byte)doubleVal;
                        //=========
                        string msgItem = "";
                        if (model.Name.Equals(""))
                        {
                            flagInsert = false;
                            msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Name is required");
                            msgError  += "<br/>" + msgItem;
                        }
                        if (model.Cover < 1)
                        {
                            flagInsert = false;
                            msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Please enter a value [Maximum Capacity] greater than or equal to 1");
                            msgError  += "<br/>" + msgItem;
                        }
                        if (model.ZoneName.Equals(""))
                        {
                            flagInsert = false;
                            msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Zone is required");
                            msgError  += "<br/>" + msgItem;
                        }
                        if (row[7].ToString().Equals(""))
                        {
                            flagInsert = false;
                            msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Style is required");
                            msgError  += "<br/>" + msgItem;
                        }
                        if (model.XPoint < 0)
                        {
                            flagInsert = false;
                            msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Please enter a value [Position X] greater than or equal to 0");
                            msgError  += "<br/>" + msgItem;
                        }
                        if (model.YPoint < 0)
                        {
                            flagInsert = false;
                            msgItem    = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Please enter a value [Position Y] greater than or equal to 0");
                            msgError  += "<br/>" + msgItem;
                        }
                        if (flagInsert)
                        {
                            listData.Add(model);
                        }
                        else
                        {
                            itemErr      = new ImportItem();
                            itemErr.Name = model.Name;
                            itemErr.ListFailStoreName.Add("");
                            itemErr.ListErrorMsg.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Row") + ":" + model.Index + _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(msgError));
                            importModel.ListImport.Add(itemErr);
                        }
                    }
                    catch (Exception e)
                    {
                        importModel.ListImport.Add(new ImportItem {
                            Name = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Table List"), ListFailStoreName = lstStore, ListErrorMsg = new List <string> {
                                _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(e.Message)
                            }
                        });
                    }
                }
            }
            Response.Status = true;
            //=====================

            //try
            //{
            TableApiModels paraBody = new TableApiModels();

            paraBody.AppKey        = Commons.AppKey;
            paraBody.AppSecret     = Commons.AppSecret;
            paraBody.CreatedUser   = Commons.CreateUser;
            paraBody.RegisterToken = new RegisterTokenModels();
            paraBody.ListTable     = listData;

            //====================
            var result = (ResponseApiModels)ApiResponse.Post <ResponseApiModels>(Commons.ImportTable, null, paraBody);

            if (result != null)
            {
                dynamic data       = result.Data;
                var     lstC       = data["ListProperty"];
                var     lstContent = JsonConvert.SerializeObject(lstC);
                var     listError  = JsonConvert.DeserializeObject <List <ImportResult> >(lstContent);

                foreach (ImportResult itemError in listError)
                {
                    ImportItem item = new ImportItem();
                    item.Name = itemError.Property;
                    item.ListFailStoreName.Add(itemError.StoreName);
                    item.ListErrorMsg.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Row") + ": " + itemError.Index + "<br/>" + _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey(itemError.Error));
                    importModel.ListImport.Add(item);
                }
                if (importModel.ListImport.Count == 0)
                {
                    ImportItem item = new ImportItem();
                    item.Name = _AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Table List");
                    item.ListSuccessStoreName.Add(_AttributeForLanguage.CurrentUser.GetLanguageTextFromKey("Import Table List Successful"));
                    importModel.ListImport.Add(item);
                }
            }
            return(Response);
        }