コード例 #1
0
 public Result Delete(Retrieve_message message, string apiKey)
 {
     try
     {
         BusinessLayer.CustomerBusinessLayer b = new BusinessLayer.CustomerBusinessLayer();
         return(b.Delete(message, apiKey));
     }
     catch (Exception e)
     {
         if (e.Message == "wrongkey")
         {
             Result ErrorObj = new Result();
             ErrorObj.Status           = "Failure";
             ErrorObj.ExceptionDetails = "Invalid Api Key";
             ErrorObj.ExceptionType    = "AuthorizationException";
             throw new WebFaultException <Result>(ErrorObj, System.Net.HttpStatusCode.Unauthorized);
         }
         else
         {
             Result obj = new Result();
             obj.Status           = "Failure";
             obj.ExceptionType    = e.GetType().ToString().Split('.')[1];
             obj.ExceptionDetails = e.Message;
             throw new WebFaultException <Result>(obj, System.Net.HttpStatusCode.InternalServerError);
         }
     }
 }
コード例 #2
0
        //DELETE CUSTOMER BY ID
        public Result Delete(Retrieve_message msg, string apiKey)
        {
            ICustomerDataBase customer   = Toggle();
            Result            result_msg = new Result();

            try
            {
                if (Authenticator.ApiKeyAuthenticator(apiKey) == false)
                {
                    throw new Exception("wrongkey");
                }
                msg.Adminid = int.Parse(apiKey);



                int ResultStatus = customer.DeleteDetails(msg);
                if (ResultStatus == 0) //this is not always unauthorized so change code
                {
                    string message = "You do not own the customer";
                    CMSLogger.SetProperties("AuthToken", msg.Adminid.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.ToString());
                    CMSLogger.log.Info(message);
                    throw new AuthorizationException(message);
                }//
                else
                {
                    result_msg.Status  = "Success";
                    result_msg.Message = "Customer Deleted Successfully";
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(result_msg);
        }
コード例 #3
0
 public List <CustomerDataObject> RetrieveAll(Retrieve_message msg, string apiKey)
 {
     BusinessLayer.CustomerBusinessLayer BLObject = new BusinessLayer.CustomerBusinessLayer();
     try
     {
         return(BLObject.RetrieveAll(msg, apiKey));
     }
     catch (Exception e)
     {
         #region catchblock
         if (e.Message == "wrongkey")
         {
             Result ErrorObj = new Result()
             {
             };
             ErrorObj.Status           = "Failure";
             ErrorObj.ExceptionDetails = "Invalid Api Key";
             ErrorObj.ExceptionType    = "AuthorizationException";
             throw new WebFaultException <Result>(ErrorObj, System.Net.HttpStatusCode.Unauthorized);
         }
         else
         {
             Result ErrorObj = new Result();
             ErrorObj.Status           = "Failure";
             ErrorObj.ExceptionType    = e.GetType().ToString().Split('.')[1];
             ErrorObj.ExceptionDetails = e.Message;
             throw new WebFaultException <Result>(ErrorObj, System.Net.HttpStatusCode.InternalServerError);
         }
         #endregion
     }
 }
コード例 #4
0
        } //get detailsAll end

        public int DeleteDetails(Retrieve_message message)
        { //DELETE details begin
            //log
            CMSLogger.SetProperties("AuthToken", message.Adminid.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.ToString());
            CMSLogger.log.Info("DeleteDetailsInvoked");

            int result = 0;

            try
            {
                MySqlCommand cmd;
                cnn.Open();
                cmd             = new MySqlCommand("deleteDetails", cnn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@c_id", message.id);
                cmd.Parameters.AddWithValue("@c_adminid", message.Adminid);
                Console.WriteLine("\nConnection Open: record Deleted ! ");
                result = cmd.ExecuteNonQuery();
                Console.WriteLine("num of rows affected" + result);
                cnn.Close();
            }
            catch (Exception ex)
            {
                cnn.Close();
                CMSLogger.SetProperties("AuthToken", message.Adminid.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.ToString());
                CMSLogger.log.Error(ex.Message, ex);
                throw ex;
            }
            return(result);
        }//END OF DELETE DETAILS
コード例 #5
0
 public Retrieve_message ValidateSearchCriteria(Retrieve_message Criteria)
 {
     if (Criteria.Start_index < 1)
     {
         Criteria.Start_index = 1;
     }
     return(Criteria);
 }
コード例 #6
0
 public List <CustomerDataObject> GetDetailsAll(Retrieve_message Criteria)
 {
     try {
         JsonCustomerDataBaseManager JsonDBM      = new JsonCustomerDataBaseManager();
         List <CustomerDataObject>   CustomerList = JsonDBM.ReadFile("DB.json");
         CustomerList = JsonDBM.RetrieveFromList(CustomerList, Criteria);
         return(CustomerList);
     }
     catch
     {
         throw;
     }
 }
コード例 #7
0
 public int DeleteDetails(Retrieve_message Criteria)
 {
     try {
         JsonCustomerDataBaseManager JsonDBM      = new JsonCustomerDataBaseManager();
         List <CustomerDataObject>   CustomerList = JsonDBM.ReadFile("DB.json");
         CustomerDataObject          Record       = new CustomerDataObject();
         Record.Id      = Criteria.id;
         Record.Adminid = Criteria.Adminid;
         CustomerList   = JsonDBM.DeleteFromList(CustomerList, Record);
         return(1);
     }
     catch
     {
         throw;
     }
 }
コード例 #8
0
        public List <CustomerDataObject> GetDetailsAll(Retrieve_message message) //string searchparam,string searchvalue,int adminid,int start_index,int end_index,string sortparam)
        {                                                                        //get detailsAll begin
            CMSLogger.SetProperties("AuthToken", message.Adminid.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.ToString());
            CMSLogger.log.Info("GetDetailsALlInvoked");

            CustomerDataObject[]      obj = new CustomerDataObject[100];// = new DataBase[50]; //warning 100 manually coded here
            MySqlCommand              cmd;
            DataTable                 dataTable = new DataTable();
            List <CustomerDataObject> customer  = new List <CustomerDataObject>();

            try
            {
                if (message.Adminid == 9999)
                {
                    cmd = new MySqlCommand("dummygetDetailsAll", cnn);
                }
                else
                {
                    cmd = new MySqlCommand("getDetailsAll", cnn);
                }
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@c_searchparam", message.Searchparam);
                cmd.Parameters.AddWithValue("@c_searchvalue", message.Searchvalue);
                cmd.Parameters.AddWithValue("@c_adminid", message.Adminid);
                cmd.Parameters.AddWithValue("@c_start_index", message.Start_index);
                cmd.Parameters.AddWithValue("@c_end_index", message.End_index);
                cmd.Parameters.AddWithValue("@c_sortparam", message.Sortparam);

                //cmd.Parameters.AddWithValue("@c_searchparam", "gender");
                //cmd.Parameters.AddWithValue("@c_searchvalue", "male");
                //cmd.Parameters.AddWithValue("@c_adminid", 9999);
                //cmd.Parameters.AddWithValue("@c_start_index", 1);
                //cmd.Parameters.AddWithValue("@c_end_index", 7);
                //cmd.Parameters.AddWithValue("@c_sortparam", "age");

                //cnn.Close();

                cnn.Open();
                using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
                {
                    da.Fill(dataTable);
                    cnn.Close();
                }

                //to print the datatable
                //to build db object


                int dbobj_count = 0;
                foreach (DataRow dataRow in dataTable.Rows)
                {
                    int count = 0;

                    obj[dbobj_count] = new CustomerDataObject();
                    foreach (var item in dataRow.ItemArray)
                    {
                        Console.WriteLine(item);
                        count++;

                        switch (count)
                        {
                        case 1: obj[dbobj_count].Id = (int)item; Console.WriteLine(obj[dbobj_count].Id); break;

                        case 2: obj[dbobj_count].CustomerName = (string)item; Console.WriteLine(obj[dbobj_count].CustomerName); break;

                        case 3: obj[dbobj_count].Gender = (string)item; break;

                        case 4: obj[dbobj_count].Age = (int)item; break;

                        case 5: obj[dbobj_count].Phone = (long)item; break;

                        case 6: obj[dbobj_count].Address = (string)item; break;

                        case 7: obj[dbobj_count].City = (string)item; break;

                        case 8: obj[dbobj_count].Emailid = (string)item; break;

                        case 9: obj[dbobj_count].Adminid = (int)item; break;
                        }
                    }

                    customer.Add(obj[dbobj_count]);
                    dbobj_count++;
                }
            }
            catch (Exception ex)
            {
                cnn.Close();
                CMSLogger.SetProperties("AuthToken", message.Adminid.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, this.ToString());
                CMSLogger.log.Error(ex.Message, ex);
                throw ex;
            }

            return(customer);
        } //get detailsAll end
コード例 #9
0
        //retrieve ALL OR RETRIEVE ALL BY ADMINID
        public List <CustomerDataObject> RetrieveAll(Retrieve_message msg, string apiKey)
        {
            ICustomerDataBase         customer     = Toggle();
            List <CustomerDataObject> customerlist = new List <CustomerDataObject>();

            try
            {
                //auth
                if (Authenticator.ApiKeyAuthenticator(apiKey) == false)
                {
                    throw new Exception("wrongkey");
                }
                //parse api key
                msg.Adminid = int.Parse(apiKey);

                // default all records if no searchparam mentioned
                if (msg.Adminid == 1234 && (msg.Searchparam == null || msg.Searchvalue == null))
                {
                    msg.Adminid = 9999;
                }

                if (msg.Searchparam == null || msg.Searchvalue == null)
                {
                    msg.Searchparam = "adminid";
                    msg.Searchvalue = msg.Adminid.ToString();
                }

                if (msg.Sortparam == null)
                {
                    msg.Sortparam = "id";
                }
                if (msg.Start_index < 0)
                {
                    msg.Start_index = 1;
                }
                if (msg.End_index <= 0)
                {
                    msg.End_index = 100;
                }



                customerlist = customer.GetDetailsAll(msg);//.Searchparam,msg.Searchvalue,msg.Adminid, msg.Start_index, msg.End_index, msg.Sortparam);
            }
            catch (Exception e)
            {
                if (e.Message.Contains(msg.Searchparam))
                {
                    UnknownFilterException ufex = new UnknownFilterException("Unknown Search Parameter");
                    throw ufex;
                }
                else if (e.Message.Contains(msg.Sortparam))
                {
                    UnknownFilterException ufex = new UnknownFilterException("Unknown Sort Parameter");
                    throw ufex;
                }

                else
                {
                    throw;
                }
            }
            return(customerlist);
        }
コード例 #10
0
        public List <CustomerDataObject> RetrieveFromList(List <CustomerDataObject> CustomerList, Retrieve_message Criteria)
        {
            try
            {
                Criteria = ValidateSearchCriteria(Criteria);
                List <CustomerDataObject> FilteredList;
                FilteredList = CustomerList.FindAll(delegate(CustomerDataObject Obj) { return(Obj.CustomerName.Contains(Criteria.Searchvalue) || Obj.Emailid == Criteria.Searchvalue || Obj.Gender.Contains(Criteria.Searchvalue)); });
                if (Criteria.End_index > FilteredList.Count)
                {
                    Criteria.End_index = FilteredList.Count;
                }
                FilteredList = FilteredList.GetRange((Criteria.Start_index - 1), Criteria.End_index - Criteria.Start_index + 1);

                switch (Criteria.Sortparam)
                {
                case "Name": FilteredList = FilteredList.OrderBy(cc => cc.CustomerName).ToList <CustomerDataObject>(); break;

                case "Gender": FilteredList = FilteredList.OrderBy(cc => cc.Gender).ToList <CustomerDataObject>(); break;

                case "Emailid": FilteredList = FilteredList.OrderBy(cc => cc.Emailid).ToList <CustomerDataObject>(); break;
                }
                return(FilteredList);
            }
            catch
            {
                throw;
            }
        }